首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

log4j做为jetty的日记实现

2012-09-14 
log4j做为jetty的日志实现目标: log4j做为jetty的日志实现?jetty日志原理:jetty自己实现了一个日志工厂类o

log4j做为jetty的日志实现
目标: log4j做为jetty的日志实现

?

jetty日志原理:

jetty自己实现了一个日志工厂类org.eclipse.jetty.util.log.Log

该类被classloader加载的时会在classpath中查找有没有可用的日志接口(默认是slf4j,可以通过配置启动参数-Dorg.eclipse.jetty.util.log.class=xxxx来指定日志接口),如果找不到就用默认的标准输出日志实现(org.eclipse.jetty.util.log.StdErrLog)。

?

实现方法:

jetty/lib/ext下放入3个jar包slf4j-api-1.4.3.jar,slf4j-log4j12-1.4.3.jar,log4j-1.2.12.jar

slf4j-api-1.4.3.jar ? ? ? ?slf4j的接口定义包

slf4j-log4j12-1.4.3.jar slf4j到log4j的转接包

log4j-1.2.12.jar ? ? ? ? ? 具体的日志实现包

?

jetty/resources 文件夹下已经提供一个默认的log4j.properties

?

启动的OPTIONS添加“ext,resources” ,这样就把jetty/lib/ext和jetty/resources路径添加到启动classpath中

?

?

当然你的jar和log配置文件可以放在容器目录外的任意地方,只需要在启动参数添加相应的配置项来指定目录地址。

比如jar文件在 /home/admin/logext, 日志配置文件在/home/admin/logconf

启动命令可以类似

java -jar start.jar lib=/home/admin/logext path=/home/admin/logconf

这样可以避免对容器目录文件的变更。

?

?

测试通过的jetty版本为7.2.0

?

热点排行