restlet2.0学习(extend)-restlet日志信息写入log4j中

7 篇文章 0 订阅
3 篇文章 0 订阅
使用过restlet的人都知道,restlet使用的是JDK的日志信息,而restlet的日志信息都会以system.Out的形式输出,无法写入到指定文件。虽然不是什么大问题,但是在一些公司里面,这些东西就会成为一个问题,有解决方案的话当然是最好不过了。

现在就开始写上解决方案。我们知道restlet的日志输出时使用logService的,在logFilter中真正的打印那些日志。而在那之前,会去加载一个org.restlet.engine.loggerFacadeClass变量到System的properties中,默认加载JDK的facade。而我们首先就是在容器启动的时候去修改这个变量。由于restlet有一个扩展包ext.slf4j,因此我们可以把facade指向slf4j,通过slf4j去设定我们所需要使用的日志系统。
public static void main(String[] args) throws Exception {
System.setProperty("org.restlet.engine.loggerFacadeClass", "org.restlet.ext.slf4j.Slf4jLoggerFacade");
Component component = new Component();
component.getServers().add(Protocol.HTTP, 8182);
// Attach the application to the component and start it
component.start();
}

大家都知道slf4j不是一个日志系统,而是一个日志facade。通过slf4j可以方便的更换日志系统的使用,具体如何更换大家可以网上查一下slf4j的用法,这些教程已经满天飞了。
给个传送门吧:[url]http://blog.csdn.net/hbcui1984/article/details/5138883[/url]

而在使用之前,我们需要加入一些jar包
org.restlet.ext.slf4j.jar
slf4j-api.jar
这两个jar就是连接到slf4j上,而至于具体使用什么日志系统就看各位的喜好了。我列一下我使用的日志系统和jar包,算是做个示例参考一下吧。

我使用的是lo4j做日志系统,所以还需要额外添加如下jar
slf4j-log4j12.jar
log4j.jar
配置文件使用的是:
log4j.properties
加入这些jar和文件之后,原本restlet打印出来的日志信息就可以根据log4j的配置来控制了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值