Java:-log4j-如何使定制jar包使用与主应用程序相同的log4j设置

Java:-log4j-如何使定制jar包使用与主应用程序相同的log4j设置,java,log4j,Java,Log4j,如果这是一个微不足道的问题,请原谅 我有一个使用log4j的主应用程序,还有一个GUI界面,可以在运行时更改日志级别。我无法触摸主应用程序。我正在构建一个包(jar),它只是将应用程序连接到外部系统。现在我需要有一个我正在构建的jar,它使用与调用jar文件中api的主应用程序相同的log4j设置,即jar文件中的代码将有log4j日志语句,该语句的级别etc应该从调用它的主应用程序中获取(这样,主应用程序中对日志级别的任何运行时更改也将反映在jarapi日志语句中)。并且日志需要与主应用程序的

如果这是一个微不足道的问题,请原谅

我有一个使用log4j的主应用程序,还有一个GUI界面,可以在运行时更改日志级别。我无法触摸主应用程序。我正在构建一个包(jar),它只是将应用程序连接到外部系统。现在我需要有一个我正在构建的jar,它使用与调用jar文件中api的主应用程序相同的log4j设置,即jar文件中的代码将有log4j日志语句,该语句的级别etc应该从调用它的主应用程序中获取(这样,主应用程序中对日志级别的任何运行时更改也将反映在jarapi日志语句中)。并且日志需要与主应用程序的日志放在同一个文件中


提前感谢。

如果您的库没有修改日志记录级别,那么库的日志记录行为将由主程序决定,即,一切都应该正常工作

请遵循以下步骤,让主程序确定程序包其余部分的日志记录


请按照下面的说明获取与应用程序关联的资源(例如,属性文件)。

如果您的库未修改日志记录级别,则库的日志记录行为将由主程序决定,即,所有内容都应正常工作

请遵循以下步骤,让主程序确定程序包其余部分的日志记录


下面介绍如何获取与应用程序关联的资源(例如,属性文件)。

您好,很抱歉响应延迟。。例如,我的库中现在就是这样有它的。在类的开头:private Logger\u Logger=Logger.getLogger(this.getClass());然后在方法中,我只添加了debug、warn和info语句。我的库中是否必须有一个log4j属性文件(我是否必须单独初始化库中的记录器参数)?我尝试不使用这些文件,并将jar文件添加到“Bundle ClassPath”中在Manifest.MF中,但它不起作用。它说appender not found:log4j:WARN找不到记录器(com.Test.MyTest)的appender。ThanksHi,很抱歉响应延迟。例如,这就是我现在在库中使用它的方式。在类的开头:private logger\u logger=logger.getLogger(this.getClass());然后在方法中,我只添加了debug、warn和info语句。我的库中是否必须有一个log4j属性文件(我是否必须单独初始化库中的记录器参数)?我尝试不使用这些文件,并将jar文件添加到“Bundle ClassPath”中在Manifest.MF中,但它不起作用。它说找不到appender:log4j:WARN找不到记录器(com.Test.MyTest)的appender。谢谢