我在我的一个应用程序中使用了log4j,代码如下;
log=/var/lib/openshift/5372745b4382ec49cb0000d5/app-root/runtime/dependencies/jbossas/deployments/Logs/AppName.log
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.rootLogger=DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.append=true log4j.appender.FILE.file=${log}
log4j.appender.FILE.threshold=DEBUG
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d %-5p %c - %m%n
此应用程序还将使用一些在各种应用程序之间共享的核心应用程序代码 - 我如何从这个核心代码库登录,因为它将在许多应用程序之间共享 - 这意味着我无法提供具体的log = value
这样的事情就足够了吗?
登录=的/ var / lib中/ openshift / 5372745b4382ec49cb0000d5 / APP-根/运行/依赖性/ jbossas /部署/日志/ *。登录
答案 0 :(得分:0)
一种方法是
将这些附加者加载到相应的应用程序记录器中。
protected static final Logger LOGGER = Logger.getLogger(X.class);
static
{
if (null == LOGGER.getAppender("TEST_LOG_APPENDER"))
{
RollingFileAppender fa = new RollingFileAppender();
fa.setName("TEST_LOG_APPENDER");
fa.setFile("/test-output/" + "App_1.log");
fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"));
fa.setThreshold(Level.DEBUG);
fa.setAppend(true);
fa.setMaxFileSize("10MB");
fa.activateOptions();
LOGGER.addAppender(fa);
}
}
请注意,此处您无需创建新的appender,而是删除其他appender并仅使用其中一个。 如果您有一个通用的应用级记录器,这也可以使用。
不确定这是否是正确的做法。但只是一个想法。