首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引用输入的日志4j

引用输入的日志4j
EN

Stack Overflow用户
提问于 2011-09-28 16:23:17
回答 1查看 56关注 0票数 1

我想在我的log 4j属性文件上引用输入,这样当它从外部接收到输入命令时,它就会在列表中查找它,并采取相应的行动。

它看起来是这样的:

代码语言:javascript
复制
log4j.appender.R.File=/home/oracle/conf/ATL_${log_file_name}/ATL_${log_file_name}.dlg

其中${log_file_name}是在d开关上传递的整数

现在,整数被引用到列表中:

1-食物

2-水果

3-蔬菜

这样,当${log_file_name}为1时,命令将变为:

log4j.appender.R.File=/home/oracle/conf/ATL_food/ATL_food.log

如何在属性文件中设置此属性?

EN

回答 1

Stack Overflow用户

发布于 2011-09-28 16:38:51

log4j属性文件没有这样的功能。

但是,您可以通过编程方式将文件附加器添加到根记录器中,请参阅以下示例:

代码语言:javascript
复制
import java.io.IOException;
import org.apache.log4j.*;

public class LogTest {
    public static void main(String args[]) throws IOException {
        String category = System.getProperty("logCategory");
        Logger rootLogger = Logger.getRootLogger();
        PatternLayout layout = new PatternLayout("%d{ISO8601} [%t] %-5p %c %x - %m%n"); // replace with your layout
        String logFileName = "/home/oracle/conf/ATL_" + category + "/ATL_" + category + ".dlg";
        rootLogger.addAppender(new FileAppender(layout, logFileName, false));
    }
}

您可以在命令行上传递VM参数-DlogCategory=food。你可以自己做一个数字替换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7580281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档