在Linux系统中,日志级别通常由系统或应用程序的配置文件决定。以下是一些常见的方法来配置Linux日志级别:
rsyslog 或 syslog-ngrsyslog:
rsyslog 配置文件,通常位于 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 目录下。# 默认情况下,所有级别的日志都会被记录
*.* /var/log/messages
# 只记录警告及以上级别的日志
*.warning /var/log/messages
rsyslog 服务:sudo systemctl restart rsyslog
syslog-ng:
syslog-ng 配置文件,通常位于 /etc/syslog-ng/syslog-ng.conf。destination d_messages { file("/var/log/messages"); };
log { source(s_src); destination(d_messages); };
destination d_messages { file("/var/log/messages"); filter(f_warning); };
log { source(s_src); destination(d_messages); filter(f_warning); };
syslog-ng 服务:sudo systemctl restart syslog-ng
不同的应用程序有不同的配置文件和日志级别设置。以下是一些常见应用程序的示例:
/etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf。LogLevel 指令并修改日志级别,例如:LogLevel warn
sudo systemctl restart httpd
# 或者
sudo systemctl restart apache2
/etc/nginx/nginx.conf。error_log 和 access_log 指令并修改日志级别,例如:error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log combined buffer=32k flush=300s;
sudo systemctl restart nginx
/etc/my.cnf 或 /etc/mysql/my.cnf。log_error 和 general_log 指令并修改日志级别,例如:[mysqld]
log_error = /var/log/mysql/error.log
general_log = 0
sudo systemctl restart mysql
journalctl如果你使用的是 systemd,可以使用 journalctl 命令来查看和管理日志级别:
# 查看所有日志
journalctl
# 查看特定服务的日志
journalctl -u service_name
# 设置日志级别(例如,只显示错误及以上级别的日志)
sudo journalctl --priority=err
通过这些方法,你可以根据需要配置Linux系统的日志级别,以便更好地管理和监控系统日志。