this post was submitted on 25 Mar 2024
11 points (100.0% liked)

Python

6394 readers
9 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

๐Ÿ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

๐Ÿ Python project:
๐Ÿ’“ Python Community:
โœจ Python Ecosystem:
๐ŸŒŒ Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
 

Hi, I'm currently using this to log my python process

logging.basicConfig(filename='filename.log', level=logging.DEBUG)

logger = logging.getLogger()

sys.stderr.write = logger.error

sys.stdout.write = logger.info

And then using print(f'{datetime.now()} log message') where I want to log.

It's working OK, buy I would like to live it to ic, but can't find any info on how to send the ic output to the logger.

Thanks for any help.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 8 months ago (1 children)

Never used ic before, but there is an example in the README on GitHub.

>>> import logging
>>> from icecream import ic
>>>
>>> def warn(s):
>>>     logging.warning(s)
>>>
>>> ic.configureOutput(outputFunction=warn)
>>> ic('eep')
WARNING:root:ic| 'eep': 'eep'
[โ€“] [email protected] 1 points 8 months ago

Thanks, tried the next:

logging.basicConfig(filename='filename.log', level=logging.DEBUG)

logger = logging.getLogger()

def warn(s):
    logging.warn(s)

ic.configureOutput(outputFunction=warn)

But it didn't create the .log file and the ic output was printed on the screen instead of the file (that was never created anyway)