Mark,
Thanks for the response.
Indeed I am using Log4j-2. Below is my xml file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn" name="SSP_App" packages="">
<appenders>
<RollingFile name="LogFile" fileName="/home/syed/logs/ssp-log.txt"
filePattern="/home/syed/logs/ssp-log-%d{MM-dd-yyyy}-%i.txt">
<PatternLayout>
<pattern>date:%d, millisecs:%r, level:%p, logger:%c, thread:[%t],
file:%F, method:%M, line:%L, message:%m%n%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="50 MB"/>
</Policies>
<DefaultRolloverStrategy max="100"/>
</RollingFile>
</appenders>
<loggers>
<logger name="SSPLogger" level="ALL" additivity="false">
<appender-ref ref="LogFile"/>
</logger>
<root level="warn">
<appender-ref ref="LogFile"/>
</root>
</loggers>
</configuration>
And in my web app, I have the following statement that will set the system
property to where the above file is located at:
System.setProperty("log4j.configurationFile", "file://" + rootPath +
"/log4j-2.xml");
Thanks,
On Wed, Aug 10, 2016 at 11:59 AM, Mark Eggers <[email protected]
> wrote:
> Syed,
>
> On 8/9/2016 10:08 PM, Syed Mudassir Ahmed wrote:
> > I am using Log4j in my web app to write the logs to a separate file.
> > Surprisingly, that log file is not at all getting created. I run
> > the logger logic as a standalone application and the log file indeed
> > gets created. I am assuming tomcat is not allowing me to write my
> > logs to a file. It is simply redirecting all the log messages to
> > catalina.out. Any suggestions on how to direct my logs to a separate
> > file and not to catalina.out.
> >
> > Thanks,
> >
>
> Hmm,
>
> Works for me . . .
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE log4j:configuration PUBLIC
> 'PUBLIC:-//log4j/log4j Configuration//EN'
> 'http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-
> files/log4j.dtd'>
> <log4j:configuration>
> <appender name="FA" class="org.apache.log4j.FileAppender">
> <param name="File" value="${catalina.base}/logs/leakrs.log"/>
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
> </layout>
> </appender>
> <logger name="org.mdeggers.leakrs" additivity="false">
> <level value="INFO"/>
> <appender-ref ref="FA"/>
> </logger>
> </log4j:configuration>
>
> (sorry for the word wrap for the !DOCTYPE line).
>
> Since log4j 1.x was retired in April of 2015, maybe you should move to
> log4j2.
>
> Read the following:
>
> https://logging.apache.org/log4j/2.x/manual/webapp.html
>
> A (more or less) corresponding log4j2.xml file (different app):
>
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration>
> <Appenders>
> <RollingFile name="FA"
> immediateFlush="true"
> fileName="${sys:catalina.base}/logs/logstwo.log"
> filePattern=
> "${sys:catalina.base}/logs/logstwo-%d{yyyy-MM-dd}.log.gz">
> <PatternLayout>
> <Pattern>%d %-5p %c.%M:%L - %m%n</Pattern>
> </PatternLayout>
> <Policies>
> <TimeBasedTriggeringPolicy />
> </Policies>
> </RollingFile>
> </Appenders>
> <Loggers>
> <Logger name="org.mdeggers" level="INFO" additivity="false">
> <AppenderRef ref="FA"/>
> </Logger>
> <Root level="INFO">
> <AppenderRef ref="FA"/>
> </Root>
> </Loggers>
> </Configuration>
>
> Note, the log4j2.xml does log rotation, as well as compression of the
> rotated log files. It also logs at a package level one higher than the
> log4j.xml configuration.
>
> The XML file (log4j.xml or log4j2.xml) goes into WEB-INF/classes, or in
> a JAR file in WEB-INF/lib.
>
> The appropriate log4j jar files (different between log4j and log4j2) go
> in WEB-INF/lib.
>
> Quite frankly, your question is very broad and without writing a
> tutorial it's difficult to answer.
>
> I suggest reading the following as well:
>
> http://www.catb.org/~esr/faqs/smart-questions.html
>
> . . . just my two cents
> /mde/
>
>