Code: Select all
import logging
logging.basicConfig(
level=logging.NOTSET,
format='### %(levelname)-8s - %(message)s'
)
v_obj_CONSOLE = logging.StreamHandler()
v_obj_CONSOLE.setLevel(logging.NOTSET)
v_obj_FORMATTER = logging.Formatter(fmt='### %(name)s - %(asctime)s - %(levelname)-8s - %(message)s', datefmt='%d-%m-%Y %H:%M')
v_obj_CONSOLE.setFormatter(v_obj_FORMATTER)
logger1 = logging.getLogger('mylogger.1')
logger1.addHandler(v_obj_CONSOLE)
print()
print("from logging:")
logging.log(logging.INFO, 'started')
print()
logging.debug("test debug")
logging.info("test INFO")
logging.warning("test warning")
logging.error("test error")
logging.critical("test critical")
print()
print("from logger1:")
logger1.log(logging.INFO, 'started')
print()
logger1.debug("test debug")
logger1.info("test INFO")
logger1.warning("test warning")
logger1.error("test error")
logger1.critical("test critical")
< /code>
Ergebnis ist: < /p>
from logging:
### INFO - started
### DEBUG - test debug
### INFO - test INFO
### WARNING - test warning
### ERROR - test error
### CRITICAL - test critical
from logger1:
### mylogger.1 - 24-02-2025 10:51 - INFO - started
### INFO - started
### mylogger.1 - 24-02-2025 10:51 - DEBUG - test debug
### DEBUG - test debug
### mylogger.1 - 24-02-2025 10:51 - INFO - test INFO
### INFO - test INFO
### mylogger.1 - 24-02-2025 10:51 - WARNING - test warning
### WARNING - test warning
### mylogger.1 - 24-02-2025 10:51 - ERROR - test error
### ERROR - test error
### mylogger.1 - 24-02-2025 10:51 - CRITICAL - test critical
### CRITICAL - test critical
< /code>
Wie Sie sehen, erhalten Sie für "Logger1" die Nachrichten zweimal. Im zweiten Format habe ich definiert? : < /p>
logger1.setLevel(logging.NOTSET)
logger2.setLevel(logging.NOTSET)
< /code>
CODE CODE: < /p>
import logging
logger1 = logging.getLogger('logger1')
logger2 = logging.getLogger('mylogger.1')
handler1 = logging.StreamHandler()
handler2 = logging.StreamHandler()
formatter1 = logging.Formatter(fmt= '### %(levelname)-8s - %(message)s')
formatter2 = logging.Formatter(fmt='### %(name)s - %(asctime)s - %(levelname)-8s - %(message)s', datefmt='%d-%m-%Y %H:%M')
handler1.setFormatter(formatter1)
handler2.setFormatter(formatter2)
logger1.addHandler(handler1)
logger2.addHandler(handler2)
logger1.setLevel(logging.NOTSET)
logger2.setLevel(logging.NOTSET)
print()
print("from logging:")
logging.log(logging.INFO, 'started')
print()
logging.debug("test debug")
logging.info("test INFO")
logging.warning("test warning")
logging.error("test error")
logging.critical("test critical")
print()
print("from logger1:")
logger1.log(logging.INFO, 'started')
print()
logger1.debug("test debug")
logger1.info("test INFO")
logger1.warning("test warning")
logger1.error("test error")
logger1.critical("test critical")
print()
print("from logger2:")
logger2.log(logging.INFO, 'started')
print()
logger2.debug("test debug")
logger2.info("test INFO")
logger2.warning("test warning")
logger2.error("test error")
logger2.critical("test critical")
< /code>
und erhalten als Ergebnis: < /p>
from logging:
WARNING:root:test warning
ERROR:root:test error
CRITICAL:root:test critical
from logger1:
### WARNING - test warning
WARNING:logger1:test warning
### ERROR - test error
ERROR:logger1:test error
### CRITICAL - test critical
CRITICAL:logger1:test critical
from logger2:
### mylogger.1 - 24-02-2025 13:17 - WARNING - test warning
WARNING:mylogger.1:test warning
### mylogger.1 - 24-02-2025 13:17 - ERROR - test error
ERROR:mylogger.1:test error
### mylogger.1 - 24-02-2025 13:17 - CRITICAL - test critical
CRITICAL:mylogger.1:test critical