====== Basic OpenSER Logging ====== This is a way to setup syslog logging for OpenSER. This setup was based on Slackware 10.2, so your configuration may need to be modified for your distribution. ===== Configuration ===== ==== OpenSER Configuration ==== First, set these configuration options in your openser.cfg: debug=3 # debug level, 1 is low and 7 is high (lots of output) log_facility=LOG_LOCAL7 loadmodule "/usr/local/lib/openser/modules/xlog.so" ==== Syslog Configuration ==== Next, modify your syslog.conf (should be in /etc/syslog.conf), and add this line: # OpenSER messages, make sure this spacing is done with tabs, spaces may cause errors local7.*; -/var/log/openser Create the log file: touch /var/log/openser Now, in OpenSER, to do some custom logging within your route (it will still catch all regular output from OpenSER, of course), I like to use xlog. Regular log will work, too. ==== Extra Logging in OpenSER ==== xlog("L_WARN", "Some message at level WARNING"); The first argument sets the level of the logging, and the next is the message. ===== Log Rotation ===== ==== logrotate.conf ==== Within /etc/logrotate.conf, you can configure general paramters for your log rotation. My Slackware setup by default looks like this. # /etc/logrotate.conf # # logrotate is designed to ease administration of systems that generate large # numbers of log files. It allows automatic rotation, compression, removal, and # mailing of log files. Each log file may be handled daily, weekly, monthly, or # when it grows too large. # # logrotate is normally run daily from root's crontab. # # For more details, see "man logrotate". # rotate log files weekly: weekly # keep 4 weeks worth of backlogs: rotate 4 # create new (empty) log files after rotating old ones: create # uncomment this if you want your log files compressed: #compress # some packages install log rotation information in this directory: include /etc/logrotate.d # Rotate /var/log/wtmp: /var/log/wtmp { monthly create 0664 root utmp rotate 1 } # Note that /var/log/lastlog is not rotated. This is intentional, and it should # not be. The lastlog file is a database, and is also a sparse file that takes # up much less space on the drive than it appears. # system-specific logs may be also be configured below: ==== /etc/logrotate.d/openser ==== Each distribution may be different, but in Slackware 10.2, I created a the file /etc/logrotate.d/openser I filled it with these parameters: /var/log/openser { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true endscript } Finally, restart OpenSER and enjoy! Questions and corrections, please email to mikebwilliams@gmail.com, or feel free to correct this Wiki yourself.