2016年7月6日星期三

ActiveMQ_029:Server 端日志配置

ActiveMQ 使用 log4j 作为日志配置,配置文件是 conf/log4j.properties,其内容如下:
默认情况下,配置了两个 appender:一个打印到标准输出,一个输出到文件 data/activemq.log。
默认的根日志级别为 INFO。

log4j.rootLogger=INFO, console, logfile
log4j.logger.org.apache.activemq.spring=WARN
log4j.logger.org.apache.activemq.web.handler=WARN
log4j.logger.org.springframework=WARN
log4j.logger.org.apache.xbean=WARN
log4j.logger.org.apache.camel=INFO
log4j.logger.org.eclipse.jetty=WARN

1. 增加自己希望跟踪的java package 日志级别
比如:
log4j.logger.org.apache.activemq.transport.tcp=TRACE
发送与接收消息后,日志会有如下信息:

2016-07-06 11:40:05,161 | TRACE | TCP consumer thread for tcp://localhost/127.0.0.1:61619@50210 starting | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Transport: tcp://localhost/127.0.0.1:61619@50210
2016-07-06 11:40:05,161 | TRACE | TCP consumer thread for tcp:///127.0.0.1:50210@61619 starting | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Transport: tcp:///127.0.0.1:50210@61619
......
2016-07-06 11:40:07,234 | TRACE | Closing socket Socket[addr=/127.0.0.1,port=50210,localport=61619] | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Task-1
2016-07-06 11:40:07,235 | DEBUG | Closed socket Socket[addr=/127.0.0.1,port=50210,localport=61619] | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Task-1
2016-07-06 11:40:07,238 | TRACE | Closing socket Socket[addr=localhost/127.0.0.1,port=61619,localport=50210] | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Task-1
2016-07-06 11:40:07,238 | DEBUG | Closed socket Socket[addr=localhost/127.0.0.1,port=61619,localport=50210] | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Task-1

2. 实时修改 conf/log4j.properties 文件内容并立即生效
首先配置 JMX,请参考 《ActiveMQ_010:配置 JMX》。
使用 JConsole 连接成功后,修改 conf/log4j.properties 文件内容,然后点击按钮 reloadLog4jProperties。


3. 激活审计日志
审计日志记录用户的登陆和操作信息。
审计日志文件是 data/audit.log,默认是没有激活的。
激活方式是修改启动脚本文件  bin/activemq,在开头为环境变量 ACTIVEMQ_OPTS 增加 -Dorg.apache.activemq.audit=true
# Set audit log configuration
if [ -z "$ACTIVEMQ_OPTS" ] ; then
    ACTIVEMQ_OPTS="-Dorg.apache.activemq.audit=true"
fi

重启后,创建或删除 Queue,audit.log 会记录相关信息。

参考文献:
1. http://www.jack-yin.com/coding/translation/activemq-in-action/1884.html
2. http://activemq.apache.org/audit-logging.html

没有评论: