Ubuntu日志的一些笔记

linux的日志存放在/var/log目录下。

开启和关闭/var/log目录下日志文件的配置文件: rsyslog.d/50-default.conf 自定义用户信息,在该文件中添加:

1
2
3
user.notice                     -/var/log/user.log

(注:可以在程序中使用syslog函数记录打印信息,如果指定日志等级为LOG_USER|LOG_NOTICE,则信息会存入/var/log/user.log文件)

配置syslog的文件:/etc/logrotate.d/rsyslog
原始内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}

修改后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/var/log/syslog
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
size=20M
rotate 2
# daily
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}

dmesg配置文件:/etc/init/dmesg.conf
内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# dmesg - save kernel messages
#
# This task saves the initial kernel message log.

description "save kernel messages"

start on runlevel [2345]

task
script
savelog -q -p -c 5 /var/log/dmesg
dmesg -s 524288 > /var/log/dmesg
chgrp adm /var/log/dmesg
end script

savelog -c 5表示生成5个dmesg文件,官方说法是保存日志文件的周期版本(Save cycle versions of the logfile),最小值为2。
dmesg -s 524288表示内核环缓冲区大小,但不知是不是就是dmesg的大小,没研究过。

李迟 2014.12.19 中午