2015-10-16 31 views
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',)屬性?

回答

相關問題