python - Django:从批处理/cron 脚本记录

标签 python django batch-file logging

到目前为止,我们像这样运行 cronjobs:

@daily do_daily_magic > log/do_daily_magic.log

到目前为止我们还没有使用django的日志配置:

https://docs.djangoproject.com/en/1.8/topics/logging/

但是我想改成默认的django方式。

如何为 django 编写将所有日志输出到标准输出的批处理脚本?

最佳答案

如果您尝试从 Django 环境外部运行 Python 脚本,则需要获取 Django 路径的源代码以获取从 Django 中利用的库和方法。这可以做到,但有点脏。

您的 python 脚本需要从 Django 获取信息,例如:

import sys, os
sys.path.append('/path/to/your/django/app')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.conf import settings

你可能想关注这个:http://www.b-list.org/weblog/2007/sep/22/standalone-django-scripts/

用 python 代码写日志或输出比依赖标准输出更符合 pythonic。如果您采用这种方法,那么您的 cron 条目应该是

@daily do_daily_magic 2>&1 |记录器

这将获取所有 STDOUT 和 STDERR 并将其发送到记录器以被系统日志捕获(例如/var/log/sys.log)。由于您的 python 代码会将输出定向到它自己的文件,因此从 cron 条目中出来的唯一薄薄的内容将是调试消息或未定向到日志的错误,包括 cron、权限、异常等问题,并且是正确旋转)

关于python - Django:从批处理/cron 脚本记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32142724/

相关文章:

python - 如何将 pandas.dataframe 的索引提高四分之一?

python - 如果没有数据,尝试使用 bs4 跳过属性

html - 在 HTML 页面中添加额外的字体

jquery - 有关 django-chunked-upload 和 jQuery-File-Upload 上传大文件的任何建议

python - 在 Ruby 中加密字符串并在 Python 中解密

windows - 如何使用 Windows 批处理文件查找特定目录?

Python Pandas Dataframe 填充 NaN 值

batch-file - 如何使用 CMD 在文件夹中创建子文件夹并移动其中创建的每 10 个文件?

windows - 批处理文件,vista x64,if 和括号

python - 等权共享对角协方差的GMM聚类算法