0

I am using log4j in my spring+struts+hibernate application.It is working perfectly but the only problem is the log file is stored in the specific path.Is there any way to change the path of the log file dynamically.I want the log file to be generating on the server path.

This is the property file am using for log4j

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
**log4j.appender.file.File=C:\\loging.log**
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option
log4j.rootLogger=debug, file, stdout

I want to load the server path dynamically here*log4j.appender.file.File=server path*.

Any idea?.

Kamalam
  • 1,254
  • 6
  • 18
  • 32

2 Answers2

1

you must change the log4j.properties file like: log4j.appender.appender_name.File = ${file.name} and in the code when call PropertyConfigurator.configure, just do System.setProperty("file.name","your path")

How to configure log4j with a properties file

Basically you need to write a custom logger class in which you call the above method.You can refer the above link.

Community
  • 1
  • 1
UVM
  • 9,776
  • 6
  • 41
  • 66