日期:2014-05-16  浏览次数:20366 次

解决jsvc启动tomcat的日志分割,log4j整合,以及不同Context之间日志分类
关于jsvc的介绍可以看这里:http://commons.apache.org/daemon/jsvc.html

jsvc一般用来以Root身份运行java程序,然后切换到普通用户身份.

具体的例子就是用jsvc来启动tomcat,linux的非Root身份不能监听1024以下的端口, 但可以用Root身份以jsvc的方式来启动tomcat, 监听80端口, 然后切换到普通用户身份运行, 保证安全.

但用jsvc启动tomcat有一个缺点,就是日志功能薄弱. 配置日志文件的参数就两个, 一个是outfile, 一个是errfile.

jsvc把所有的输入都重定向到了这两个配置文件中, 所以在tomcat的logging.properties文件就配置的日志规则会失效, 应用中如果用到commons-logging,log4j等都会将日志输出到jsvc配置中日志文件. 当tomcat运行一段时间后,造成日志过大, 管理维护起来很困难.

目前我们已经实现可以用jsvc来分割日志, 不同的Context可以用不同的日志文件, 可以轮循.非常方便, 方法和代码下次更新, 先发一篇关于jsvc的配置和运行方式

http://www.coder-club.com/topic/2.html

未完待续.....