- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 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);
并添加了 fa
代替 ca
。但是现在我收到了这个错误,
log4j:ERROR No output stream or file set for the appender named [null].
我不确定我缺少从 File Appender 定义的属性。
最佳答案
您忘记激活选项:
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()
激活之前通过调用选项 setter 设置的选项。
关于java - 在 log4j 中将 ConsoleAppender 替换为 FileAppender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28236007/
我正在尝试在内部更改自定义异常的布局。为了对此进行单元测试,我希望捕获控制台输出。我之前已经捕获过控制台输出,但是我之前使用的方法似乎没有使用 log4j 获得预期的结果。 如果我想捕获控制台输出,我
我想知道是否有人碰巧有使用 Log4js 的经验?看起来很正常 ConsoleAppender在将其添加到记录器对象后并不总是可以立即使用...如果我在文档中有两个连续的脚本标签,例如: //Init
我正在运行 Tomcat 8.0.9 并使用 log4j2。我在控制台附加器上定义了一个模式布局,并将其设置为 SYSTEM_OUT。布局模式类似于: %d{yyyy-MM-dd} %m%n 但是当调
我正在尝试在 slf4j 中设置一个带有 logback 的控制台记录器。我的logback配置如下: %-4relative [%thread] %-5level
我想以编程方式创建一个新的 log4j ConsoleAppender 并将其作为 appender 添加到记录器 - 我该如何正确实例化一个 - 使用以下内容似乎会使 log4j 提示 - 我需要使
我看到我们的一个工具在其 log4j 配置中的 System.out 旁边使用 ConsoleAppender 来处理 System.err。配置片段: ...
我编写了一个简单的程序,其中使用了Logback。我的目的是使用 ASYNS,它在内部将使用 STDOUT。 这是 Java 代码 list : package com.example; import
我想使用 ConsoleAppender 配置 Logback 以使用 stderr,而不是 stdout。特别是,我想使用纯代码而不是properties/xml 文件来完成此操作。这是我的尝试。关
我有 log4j 属性 (log4j v1.2.16) 文件,我在其中使用了 RollingFileAppender和ConsoleAppender . RollingFileAppender的配置如
我们使用的是 Log4j v1.2.14。我们已经在使用 org.apache.log4j.ConsoleAppender现在我们有一个要求/需要有每日轮换日志。因此,我们计划使用 org.apach
我有一个 java 类,它在启动时基于 javassist 类加载器创建自定义类加载器,然后运行真正的程序类。我收到以下错误: log4j:ERROR A "org.apache.log4j.Cons
使用 log4j,如果 FileAppender 在写入指定日志文件时出现问题,我想恢复到 ConsoleAppender。这意味着捕获 FileNotFoundException 或 IOExcep
我无法让 Athena JDBC 驱动程序正确登录。我更喜欢 SL4J SimpleLogger,但似乎不支持这个工厂,但只支持 Log4J(只是写这个以防你想知道为什么有 2 个日志框架)。不幸的是
我正在使用 Spring Boot 构建命令行应用程序。在这样的应用程序中,logback 控制台日志记录是不合适的。如何完全禁用控制台附加程序,但仍然让文件附加程序与 default Spring
在 App.Config 中,我为我的控制台应用程序声明了一个配置部分: 并配置一个ConsoleAppender :
我已经使用 ConsoleAppender 在 log4j 记录器上创建了一个记录器。代码如下, public class AppLogger{ static { Console
我的要求是将消息记录到 3 个单独的日志文件中。 我在 JBOSS 服务器中使用 3 个附加程序。 其中三个需要按如下方式工作1.RollingFileAppender、consoleAppender
从 Jboss 5 升级到 Jboss EAP 6.3.0 后,我们发现一个应用程序在运行一段时间后失败。看了一下,接受 HTTP 请求但无法为其提供服务的线程数量开始增加。之后,ThreadDump
当我在 logger.Warn 下面做任何事情时,我想写信给 Console.Out 然后我想写信给 Console.Err 当我记录任何 logger.Error 及以上的内容时。我将如何编写我的
我在使用 log4j ConsoleAppender 时遇到问题: 如果我这样初始化它: ConsoleAppender ca = new ConsoleAppender(); ca.setLayou
我是一名优秀的程序员,十分优秀!