- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
即使我已将 logback.xml 文件放入每个源文件夹或使用 -Dlogback.configurationFile=C:\Users\dell\Documents\Corr\conf\logback.xml,我也无法使用它
作为程序参数或 vm 参数。但是,这没有用。为什么?为什么?
我应该将该文件放在哪里才能被检测到?
我做了什么;
logback.xml
<configuration>
<appender name ="FileAppender"
class="ch.qos.logback.core.FileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level> INFO </level>
<onMatch> ACCEPT </onMatch>
<onMismatch> DENY </onMismatch>
</filter>
<property file="conf/variables.properties" />
<file> ${HOME}/build/log/corr.log </file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
${HOME}/build/log/%d{yyyy/MM/dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize> 2MB </maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS}
%level{5}
[%thread]
%class{0}.%method at %line
%msg
%n
%ex{full}
%n
</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FileAppender" />
</root>
</configuration>
属性文件;变量.属性
HOME=C:\Users\dell\Documents\Corr
项目层次结构
Corr
| - - src
| - - CorrAnaly
| - - main.java
| - - testSrc
| - - build
| - - log
| - - bin
| - - conf
| - - logback.xml
| - - variables.properties
我放置 logback.xml 的位置
所有这些都没有起作用。另外,我尝试使用conf文件夹作为源文件夹。我已经这样声明并使用了它,但没有工作。
帮我找出为什么 logback 没有检测到我的文件。我应该怎么做才能使用Logback功能?
环境:Windows 7、Eclipse Indigo
更新
要运行应用程序,我正在使用;
我的ivy.xml文件
<ivy-module version="2.0">
<configurations defaultconfmapping="runtime->compile">
<conf name="compile" />
<conf name="test" />
<conf name="runtime"
extends="compile" />
</configurations>
<dependencies>
<dependency org="SLF4J" name="slf4j-api-1.7.7" rev="1.7.7"
conf="compile->default"/>
<dependency org="LOGBack" name="logback-core-1.1.2" rev="1.1.2"
conf="runtime->default"/>
<dependency org="SLF4J" name="slf4j-jdk14-1.7.7" rev="1.7.7"
conf="runtime->default"/>
</dependencies>
</ivy-module>
更新2我还尝试过使用简单的 logback.xml 以防我的第一个配置不起作用。即使对于简单的 logback.xml 情况,它也不起作用;
<appender name ="ConsoleAppender"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset> UTF-8 </charset>
<pattern>%-5level [%thread] %class{0}.%method at line %line --%message%n%ex</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="ConsoleAppender" />
</root>
更新3
从昨晚开始,我尝试了很多东西,最后在源代码中,我可以从 getClass().getResource("/logback/logback.xml").toURI().toString 得到非空结果()
。但是,仍然会调用默认的 logback.xml。
bin结构
bin
| - - Corr
| - - conf
| - - logback.xml
我已经在 Eclipse 的 vm 参数部分尝试过 -Dlogback.configurationFile=
(分别并一一尝试);
我的大脑:精神错乱错误;帮助我!
最佳答案
我不知道上述问题背后的原因,但在更改依赖文件后,例如;
<dependency org="SLF4J" name="slf4j-api-1.7.7" rev="1.7.7"
conf="compile->default"/>
<dependency org="LOGBack" name="logback-core-1.1.2" rev="1.1.2"
conf="runtime->default"/>
<dependency org="LOGBack" name="logback-classic-1.1.2" rev="1.1.2"
conf="runtime->default"/>
我的配置文件现在已被 Logback 识别。我认为 slf4j-jdk14-1.7.7 阻止 Logback 读取我的配置文件。
强调一下,我使用了 slf4j 的 jdk,这导致将 Logback 绑定(bind)到其内部并忽略我自己的配置文件即 logback.xml。 (我说“忽略”是因为你可以在问题正文中看到我的努力,我尝试过的所有可能性。)
关于java - logback配置失败--为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25558414/
我正在尝试使用 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
我是一名优秀的程序员,十分优秀!