我已经用ConsoleAppender在log4j记录器上创建了一个记录器。代码如下,
public class AppLogger{
static {
ConsoleAppender ca = new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
org.apache.log4j.Logger.getRootLogger().addAppender(ca);
}
public AppLogger(Class classname) {
logger = LoggerFactory.getLogger(classname);
}
public void debug(String message){
logger.debug(message);
}
...
...
}
我没有使用log4j.properties文件,因为我不确定将其放在何处。上面的代码在控制台上运行良好,日志记录正常。现在我要更改它,以便与FileAppender一起使用。
我简单地更新了静态构造函数,
FileAppender fa = new FileAppender();
fa.setFile("d:/log.txt");
fa.setLayout(new PatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN));
org.apache.log4j.Logger.getRootLogger().addAppender(fa);
并添加了ca
中的fa
。但现在我得到了这个错误,
LOG4J:错误,未为名为[null]的追加器设置输出流或文件。
我不确定我缺少哪个属性来定义文件追加器。
您忘记激活选项:
FileAppender fa = new FileAppender();
fa.setFile("d:/log.txt");
fa.setLayout(new PatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN));
fa.activateOptions(); \\ ← activate the options
org.apache.log4j.Logger.getRootLogger().addAppender(fa);
方法optionhandler#activateoptions()
激活以前通过调用选项设置器设置的选项。
也许可以在某个配置文件中完成。有人已经做过了吗?
问题内容: 所以我似乎无法弄清楚…我有一句话要说,我希望它成为。我已经尝试了以下所有方法,但似乎都没有效果; 我真的不明白为什么最后一个有效,因为这样可以正常工作: 我在这里想念什么吗? 编辑 我知道\是转义字符。我要在这里执行的操作是将所有内容都 转换为其他内容, 并且替换似乎没有按照我的预期进行。 我希望字符串a看起来像字符串b。但是替换并不能像我想的那样替换斜线。 问题答案: 无需为此使用r
问题内容: 我正在用Python解析文件中的文本。我必须替换所有换行符(\ n), 因为此文本将生成html-content。例如,这是文件中的一些行: 现在我做: 而且我仍然看到带有换行符的文本。 问题答案: 只是踢,你也可以 用替换字符串中的所有换行符。
如果满足条件,我们如何替换日志字符串中的某些字符,有什么想法吗?
我得到了一个导入的文本块,但格式并不总是那么完美。之后我会尝试用jquery解决这个问题。所以我开始用 替换 : null null 但替换不起作用。最终的html应该如下所示:
我是log4j的新手。我正在将一个应用程序从log4j1.2转换为log4j2。在log4j中。我发现的属性文件有以下配置。 如何将此配置转换为log4j2配置? 谢谢