Java servlet中的Log4J日志路径(TOMCAT)

Java servlet中的Log4J日志路径(TOMCAT),java,tomcat,log4j,Java,Tomcat,Log4j,我想用db参数设置我的log4j日志路径。 我的log4j属性如下: log4j.appender.file.File=${log.app.path}/app/app1.log 我用JVM变量填充了系统属性${log.app.path}。 现在我想用数据库中的值设置该路径。然后我想用ServletContextListener设置它,但我发现log4j正在运行 有什么建议吗? 谢谢。您可以在代码中使用FileAppender初始化记录器。您只需使用所需的值(从db或任何地方)并在Logger

我想用db参数设置我的log4j日志路径。 我的log4j属性如下:

 log4j.appender.file.File=${log.app.path}/app/app1.log
我用JVM变量填充了系统属性${log.app.path}。 现在我想用数据库中的值设置该路径。然后我想用ServletContextListener设置它,但我发现log4j正在运行

有什么建议吗?
谢谢。

您可以在代码中使用FileAppender初始化记录器。您只需使用所需的值(从db或任何地方)并在Logger对象中设置FileAppender的参数。

您始终可以使用代码中的FileAppender初始化记录器。您只需使用所需的值(从db或任何地方)并将FileAppender的参数设置到Logger对象。

您是否尝试过使用log4j jdbcappender

链接是:


您是否尝试过使用log4j jdbcappender

链接是:


好的,但它会在其他地方开始记录。。。编辑路径时很难不丢失日志记录,对吗?检查它如何记录somewer!。。如果您提供了一个正确的路径,并且该路径是可写的,那么应该执行作业OK,但它会在其他位置启动loggin。。。编辑路径时很难不丢失日志记录,对吗?检查它如何记录somewer!。。如果您提供了一个正确的路径,并且该路径是可写的,那么应该执行作业号,但这是用于登录数据库的。。。我想要一个登录文件,但它位于db中定义的位置。否,但这是用于登录db。。。我想要一个登录文件,但它位于db中定义的位置。