私はStruts2、hibernateWebアプリケーションを使用しています。そのファイルで、pom.xmlのlog4jに次の依存関係を使用しました
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.9</version>
</dependency>
私のActionclassでは、次のコードを使用してログファイルを書き込みました。
public class loginAction extends action{
static Logger log = Logger.getLogger(com.action.LoginAction.class);
public String checklogin(){
log.debug("Debug Message(LOGIN)!");
log.info("Info Message(LOGIN)!");
log.warn("Warn Message(LOGIN)!");
log.error("Error Message(LOGIN)!");
log.fatal("Fatal Message(LOGIN)!");
//my coding for checking logged status.
}
}
次のコードを使用して、log4j.propertiesファイルをWEB-INF/classesフォルダーに配置しました。
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C\:\\logfile.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=debug, file
このアプリケーションを実行してサーバーにデプロイすると、プロパティファイルは正しいパスに配置されます。ただし、アクションクラスでステートメントを実行した後は、log4j.propertiesファイルから何も影響を受けません。どこが間違っていたのかわかりません。
だから誰かが私がこの問題を見つけるのを手伝ってください。前もって感謝します。