我在 OS X 10.9.4 上并尝试使用newsyslog来轮换我的应用程序开发日志文件。
更具体地说,我想每天轮换文件,但前提是它们不为空(newsyslog 会在它轮换的每个日志文件中写入一两行,所以假设我只想轮换至少 1kb 的日志)。
我创建了一个文件/etc/newsyslog.d/code.conf
:
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/manuel/code/**/log/*.log manuel:staff 644 7 1 $D0 GN
我理解配置文件的手册页的方式是,size
条件应该结合使用,因此只有在日志文件为 1kb 或更大时,才when
应在每晚午夜轮换日志文件。
不幸的是,这不是发生的事情。日志文件每晚都会轮换,无论它们只是来自 newsyslog 的轮换消息还是其他任何内容:
~/code/myapp/log (master) $ ls
total 32
drwxr-xr-x 6 manuel staff 204B Aug 8 00:17 .
drwxr-xr-x 22 manuel staff 748B Jul 25 14:56 ..
-rw-r--r-- 1 manuel staff 64B Aug 8 00:17 development.log
-rw-r--r-- 1 manuel staff 153B Aug 8 00:17 development.log.0
~/code/myapp/log (master) $ cat development.log
Aug 8 00:17:41 localhost newsyslog[81858]: logfile turned over
~/code/myapp/log (master) $ cat development.log.0
Aug 7 00:45:17 Manuels-MacBook-Pro newsyslog[34434]: logfile turned over due to size>1K
Aug 8 00:17:41 localhost newsyslog[81858]: logfile turned over
任何有关如何使这项工作的提示将不胜感激!