«

Nginx日志格式化输出,日志切割

myluzh 发布于 阅读:541 Nginx


0x01 日志格式化输出

root@iZbp12bkuvg20e1j3y9gtvZ:/etc/logrotate.d# cat /etc/nginx/nginx.conf 

http {
        # ...
        log_format main escape=none
          '$remote_addr - $remote_user [$time_iso8601] "$request_method $scheme://$host$request_uri" '
          '$status $body_bytes_sent "$http_referer" '
          '"$http_user_agent" "$http_x_forwarded_for" time=$request_time upstream_addr=$upstream_addr'
          '\n $request_body';

        access_log /var/log/nginx/access.log main;
        error_log /var/log/nginx/error.log;
        # ...

当你定义Nginx日志格式时,你可以指定使用哪些变量来记录不同的信息。在你提供的日志格式中,每个变量都代表着不同的信息

这些变量可以帮助你记录非常详细的访问日志,方便后续分析和监控。

0x02 日志切割

1、按照编号保存,最多保存14天

root@iZbp12bkuvg20e1j3y9gtvZ:/etc/logrotate.d# cat /etc/logrotate.d/nginx 

/var/log/nginx/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi \
        endscript
        postrotate
                invoke-rc.d nginx rotate >/dev/null 2>&1
        endscript
}

2、按照日期保存,最多14天

root@iZbp12bkuvg20e1j3y9gtvZ:/etc/logrotate.d# cat /etc/logrotate.d/nginx

/var/log/nginx/*.log {
        daily
        missingok
        rotate 14
        compress
        dateext
        # 可选:设置日期格式,这里使用默认的'%Y%m%d',即年月日格式
        #dateformat -%Y%m%d

        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi \
        endscript
        postrotate
                invoke-rc.d nginx rotate >/dev/null 2>&1
        endscript
}

这段代码是用于配置Nginx日志分割的Logrotate规则。

总的来说,这段配置代码指示Logrotate每天对Nginx的日志文件进行分割,保留14个旧日志文件,并在分割前后执行相应的脚本和命令。0x02 日志切割
日志文件的分割配置通常会在logrotate等工具中进行设置。你可以检查一下系统中的logrotate配置文件,通常在/etc/logrotate.d/目录下,找到与Nginx相关的配置文件,查看是否有针对Nginx日志文件的分割配置。

nginx logging logrotate log_format access_log error_log


正文到此结束
版权声明:若无特殊注明,本文皆为 Myluzh Blog 原创,转载请保留文章出处。
文章内容:https://itho.cn/nginx/412.html
文章标题:《Nginx日志格式化输出,日志切割