Python Django日志记录,具有多个命令和视图处理程序以及共享函数

Python Django日志记录,具有多个命令和视图处理程序以及共享函数,python,django,logging,Python,Django,Logging,在使用从命令和视图调用的公共函数时,是否可以记录命令和视图以分离日志文件?将记录器作为函数参数传递肯定不是一个好的设计 设置.py 'loggers': { 'Web': { 'handlers': ['logfile_website'], # -> views.log 'Commands': { 'handlers': ['logfile_commands'], # -> commands.log } views.py->转到vie

在使用从命令和视图调用的公共函数时,是否可以记录命令和视图以分离日志文件?将记录器作为函数参数传递肯定不是一个好的设计

设置.py

'loggers': {
    'Web': {
        'handlers': ['logfile_website'], # -> views.log
    'Commands': {
        'handlers': ['logfile_commands'], # -> commands.log
}
views.py->转到views.log

command.py->转到commands.log

my_common.py->根据调用方的需要转到需要的位置

def common_function(param):
    log = How to get logger based on current call stack?
    log.info('In common function')

可以使用单个处理程序,该处理程序根据环境使用文件名。例如,在POSIX上

LOG_FILENAME = os.environ.get('LOGFILE', 'views.log')

# then use the filename in your configuration
然后使用

LOGFILE=commands.log python manage.py syncdb
在这里,我使用
syncdb
作为命令示例

LOG_FILENAME = os.environ.get('LOGFILE', 'views.log')

# then use the filename in your configuration
LOGFILE=commands.log python manage.py syncdb