2012-06-14 2 views
0

Ниже мой JDBC адаптер для log4j, как изменить dblocation во время выполненияКак изменить log4j JDBC местоположение адаптера БД во время выполнения

log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DB.driver=org.sqlite.JDBC 
log4j.appender.DB.URL=jdbc:sqlite:{To change} 
log4j.appender.DB.user= 
log4j.appender.JDBC.commit=true 
log4j.appender.DB.threshold=trace 
log4j.appender.DB.sql=INSERT INTO sfLog(UserID,UserName,IPAddress,Port,UserAgent,Type,Status,Message,Date) VALUES('%X{UserID}','%X{UserName}','%X{IP}','%X{Port}','%X{Agent}','%X{Type}','%X{Status}','%m','%d{dd-MM-yyyy HH:mm:ss}') 
log4j.appender.DB.layout=org.apache.log4j.PatternLayout 

ответ

0

Вы можете использовать заполнители свойство и -D на вашей команде JVM line:

eg

log4j.appender.DB.URL=${myDbUrl} 

Затем на командной строке виртуальной машины Java вы бы включить что-то вроде:

-DmyDbUrl=blahblahblah 

Или вы могли бы использовать System.setProperty, но вы должны сделать это до того log4j инициализирует.

+0

, но я мог получить местоположение во время выполнения только, как установить это. – MohanMaverick

+0

Использование System.setProperty? – davidfrancis

Смежные вопросы