Jatin
Jatin

Reputation: 31724

log to a file hosted on tomcat

I want to log my application output to a file hosted on my tomcat server. log4j.properties set is:

log4j.rootLogger=INFO, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.R.MaxFileSize=1000KB
log4j.appender.R.MaxBackupIndex=5
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/initiate.log
log4j.appender.stdout=org.apache.log4j.FileAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %p [%c] - %m%n

It does create initiate.log file but my log statements are not added to it. What is the issue? Or how will I set the properties using java Logger to output to fil

Upvotes: 0

Views: 230

Answers (1)

maimoona
maimoona

Reputation: 627

You need to define a way to access file logger somewhere in your java code

import org.apache.log4j.Logger;

private static Logger logger= Logger.getLogger("R");//fileLoggerName: R in this case

and then access the file like below

logger.error("Whatever message is!!"); 
//OR 
logger.info("message to write", exceptionObjectForCompleteTrace);

Upvotes: 1

Related Questions