0
我創建了一個logging.conf文件,該文件在一個進程中運行得非常好。它正確地記錄在正確的文件的一切:如何從腳本中動態設置我的日誌文件名?
[loggers]
keys=root
[logger_root]
handlers=screen,file
level=DEBUG
[formatters]
keys=simple,complex
[formatter_simple]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
[formatter_complex]
format=%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(lineno)d - %(message)s
[handlers]
keys=file,screen
[handler_file]
class=handlers.TimedRotatingFileHandler
interval=midnight
backupCount=7
formatter=complex
level=DEBUG
args=('../logs/my_log.log',)
[handler_screen]
class=StreamHandler
formatter=simple
level=DEBUG
args=(sys.stdout,)
而這就是我如何得到我的劇本里我的記錄對象:
# Create logger
logging.config.fileConfig('../logging.conf')
logger = logging.getLogger()
的問題是 - 現在我必須使用相同的腳本多個進程,和都使用相同的日誌文件,什麼是造成併發錯誤。 如何從腳本內設置我的日誌文件名?有一種方法可以動態設置[handler_file]
的args=('../logs/my_log.log',)
屬性?
我明白見https://docs.python.org/2/howto/logging.html#logging-advanced-tutorial。問題是我想在運行時更改處理程序參數,而不是在運行時創建整個處理程序... –