Django/Docker/Logging:日志文件为空

2024-04-24 04:52:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Django项目中实现日志记录(堆栈:Django、Docker、Postgresql)

它可以在我的开发环境中工作,但不能在试生产(linux/Debian)中工作

我没有收到错误,但文件是空的

我寻找对文件的权限,并将chmod 777设置为我的日志文件进行测试,但两者都不起作用

设置.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'loggers': {
        'django': {
            'handlers':['files_info','files_debug'],
            'propagate': True,
            'level':'INFO',
        },
    },
    'handlers': {
        'files_info': {
            'level': 'INFO',
            'class': 'logging.FileHandler',
            'filename': './logsfiles/info',
            'formatter': 'mereva',
        },
        'files_debug': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': './logsfiles/debug',
            'formatter': 'mereva',
        },
    },
    'formatters': {
        'mereva': {
            'format': '{levelname} {asctime} {module} {message}',
            'style': '{',
        }
    },
}

views.py

# Get an instance of a logger
logger = logging.getLogger('django')

def home(request):

    authenticated = request.user.is_authenticated
    if authenticated:
        print('Connected user',request.user)
        logger.info('User :{0}'.format(request.user.username))

    return render(request, 'home.html')

Tags: 文件djangopydebuginforequestloggingfiles
1条回答
网友
1楼 · 发布于 2024-04-24 04:52:36

Hi请将文件\u调试部分更改为:

file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'formatter': 'file',
            'filename': './logsfiles/debug.log'

如果您有权修改,还可以检查您的文件/日志文件的排列

将记录器实例更改为:

 logger = logging.getLogger(__name__)

相关问题 更多 >