解决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

未完待续.....

相关推荐