- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我试图在我的简单程序中使用 logback 作为我的记录器,但它不能正常工作!我把logback/logback.xml和logback/Logback.java放在源码目录logback下,通过这个命令行运行
其中 %CLASSPATH% 是一个环境变量,它具有 logback 需要的 .jar 文件的路径,例如:
这是我的 logback.xml 文件
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>test.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>tests.%i.log</fileNamePattern>
<minIndex>1</minIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>2MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
</root>
</configuration>
还有我的简单程序
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Logback{
private final static Logger logger = LoggerFactory.getLogger(Logback.class);
public static void main(String[] args){
for(int i=0;i<1000000;i++)
logger.debug("hello");
}
}
但不幸的是,我只是在控制台中收到日志,而不是 test.log 文件。看起来记录器对象只使用默认配置!!!
如果我如下设置 -Dlogback.configurationFile=logback.xml 变量,它会正常工作。但是没有这个变量如何运行呢?
最佳答案
来自 logback 文档:
1. Logback tries to find a file called logback.groovy in the classpath.
2. If no such file is found, logback tries to find a file called logback-test.xml in the classpath.
3. If no such file is found, it checks for the file logback.xml in the classpath..
4. If neither file is found, logback configures itself automatically using the BasicConfigurator which will cause logging output to be directed to the console.
logback.groovy、logback-test.xml 或 logback.xml 等配置文件应该放在类路径的什么位置?
Configuration files such as logback.groovy, logback-test.xml or logback.xml can be located directly under any folder declared in the class path. For example, if the class path reads "c:/java/jdk15/lib/rt.jar;c:/mylibs/" then the logback.xml file should be located directly under "c:/mylibs/", that is as "c:/mylibs/logback.xml". Placing it under a sub-folder of c:/mylibs/, say, c:/mylibs/other/, will not work.
For web-applications, configuration files can be placed directly under WEB-INF/classes/.
所以需要把logback.xml放在classpath中。在一个项目中,我们遇到了类似的问题,尽管 logback.xml 位于正确的位置。将其重命名为 logback-test.xml 有帮助。
关于java - 无法找到 logback.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26354163/
我正在尝试使用 janino 的条件处理来删除冗余的 logback 配置文件。 下面是我添加的条件逻辑
我有三个独立的项目,每个项目都有自己的嵌入式 logback.xml 文件。这些文件中的每一个都在用户的主目录中包含一个通用的日志配置文件: 在包含之后,我有这个规范: 这允许用户配置
我使用这个logback配置文件: %d{HH:mm:ss.SSS} [%-10.-10thread] %-5level %-30logger{1} - %msg%n
我的公司有一个环境管理工具,使您能够以 Java 编程方式从环境中查找属性。我想利用这个工具来配置 logback。例如,假设我有一个如下的 logback.xml(特别是文件 appender 部分
这似乎是一个粗心的错误,但我似乎找不到原因。使用 logback/slf4j(最新版本 slf4j-api-1.6.1,logback core/classic 0.9.24)进行记录。最简单的测试日
这是经典的logback的错误还是我遗漏了一些东西? The documentation非常明确地表明scanPeriod是可选属性: By default, the configuration fi
我正在尝试设置一个 logback 配置,该配置创建一个解压缩的日志文件作为第一卷,然后将压缩文件写入不同的目录。我相信最好的方法是在单个 appender 中创建多个 rollingPolicy 元
我用各种框架(jsf、Spring、Hibernate)编写了一个网络应用程序,我的记录器库是 Logback 和 slf4j。 目前我无法在日志文件中显示未捕获的异常(例如 NullPointers
这似乎是一个粗心错误,但我似乎找不到原因。使用 logback/slf4j 进行日志记录(最新版本 slf4j-api-1.6.1、logback core/classic 0.9.24)。用于测试的
我需要能够在事件中搜索多种模式中的任何一种,并用屏蔽值替换模式中的文本。这是我们应用程序中的一项功能,旨在防止敏感信息落入日志中。由于信息可能来自多种来源,因此对所有输入应用过滤器是不切实际的。此外,
我怎样才能创建一个 RollingFileAppender在接受谨慎标志的 Logback 中,还允许我指定日志文件的位置? 我尝试了以下操作,但正如我从文档中了解到的,logback 不支持 fil
我在文档中看不到任何相关内容,但收到以下异常 Failed to instantiate [ch.qos.logback.classic.LoggerContext] Reported excepti
我是 Logback 的新手,我正在尝试为 Windows 和 Linux 动态添加带有属性文件的文件路径。 这是我拥有的代码 sinppet,我怎样才能获得 ${MY_HOME} 的值 $
由于我必须登录到自定义(单个)数据库表,我编写了一个自定义 logback appender,扩展了 logback DBAppender . 我有一些单元测试来验证 appender 是否正常工作,
我正在尝试在 micronaut 中设置访问日志,但是,由于 logback-access 库使用 servlet 过滤器,我没有看到直接的方法。有不同的解决方案吗?一些隐藏的 Micronaut 配
我想使用 slf4j+logback 来登录 JBossAS7。 此外,我必须解决以下要求: 我需要在多个已部署的应用程序/EAR 中共享一个 logback 配置/上下文 我需要在运行时更改 log
我已经使用 LogbackValve 为 Tomcat 7.0 启用了 logback-access 日志。我的 logback-access 配置如下所示。 access.lo
我正在开发一个应用程序,使用我的另一个项目作为 Maven 依赖项。 期望 我希望我的依赖项使用自己的 logback.xml 来登录自己的文件。我希望应用程序使用自己的 logback.xml 文件
我在给定的 tomcat 中运行了许多相同的应用程序,它们都在不同的 URL 和 web.xml 文件下。 我想为每个文件创建一个相同的logback.xml。但我希望模式中包含服务器名称或显示名称。
它正在输出到控制台。logger.info("你好,世界信息。");//工作得很好... 但是以下代码返回“无法找到资源”错误: Logger logger = LoggerFactory.getLo
我是一名优秀的程序员,十分优秀!