2007年8月28日火曜日

TOMCAT5.5でLog4jにはまる

自分のWebアプリのログ出力のLibとしてLog4jを加えたら
catalina.outファイルが行数が巨大に成ってしまった。軽く10万行
Log4jを外したら元にもどった。
Log4j.propertiesはちゃんと作成し自分のアプリにいれた。
自分のアプリのログは正しく出力されている。
WebSphere6ではこの現象は無かった。

tomcatのドキュメントに書いてありました。
commons Logging を内部コード全体で使っている。
tomcat全体用にlog4j.propertiesを作成して
/usr/share/tomcat5.5/common/classes
ディレクトリに配置

# Global logging configuration
log4j.rootLogger=ERROR, run
log4j.appender.run=org.apache.log4j.RollingFileAppender
log4j.appender.run.File=/usr/share/tomcat5.5/logs/tomcat.log
log4j.appender.run.maxBackupIndex=20
log4j.appender.run.maxFileSize=10MB
log4j.appender.run.layout=org.apache.log4j.PatternLayout
log4j.appender.run.layout.ConversionPattern=%d %5p %-21t %-70c - %m%n

/usr/share/tomcat5.5/common/libにlog4jのjarを配置
commons-logging.jarも同じくこの場所には配置

プロジェクトを選択し、右クリックで
clean and Build
unDeploy and deploy

tomcat再起動

ログファイルの行数が10万行から、150行まで小さくなった。

実は、これにからみ昨夜色々やっていた。
そのひとつがjavaセキュリティも外し

/etc/init.d/tomcat5.5シェルを以下の様に修正し
# Use the Java security manager? (yes/no)
#TOMCAT5_SECURITY=yes
TOMCAT5_SECURITY=no
Java securityをわざと効かなくして調査をした。

Windowsと比べてLinuxはパーミッションにより
ディレクトリ毎に権限が細かくなっているのに、
さらにJava securityが入るので面倒なので
こうした。

でも、このおかげでウィルス等に強いと言う特性も
ありますね。Windowsはユルスギですから。

0 件のコメント: