- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试将 DBAppender 与 logback-access-1.1.2 一起使用。使用 DriverManagerConnectionSource 的配置。
我的程序运行,但logging_event表中没有输出,尽管有输出到控制台。
这是 logback.xml 片段:
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
</appender>
<appender name="DB" class="ch.qos.logback.access.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<debug>true</debug>
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://10.0.0.32:3306/mydb</url>
<user>user</user>
<password>password</password>
</connectionSource>
<insertHeaders>true</insertHeaders>
</appender>
<logger name="com.rimerosolutions.gorm" level="INFO"/>
<logger name="org.steinmetz.mypkg" level="DEBUG"/>
<logger name="ch.qos.logback" level="DEBUG"/>
<root level="WARN">
<appender-ref ref="DB" />
<appender-ref ref="STDOUT" />
</root>
这几乎直接来自 logback 手册。可以通过 mysql 客户端通过命令行使用这些凭证来访问数据库。然后,还可以使用这些凭据以编程方式使用数据库。
使用 DriverManagerConnectionSource 和 DataSourceConnectionSource 之间有什么区别?
编辑:
我将调试添加到文件顶部的配置中。现在我在控制台输出中看到以下内容:
19:05:08,384 |-ERROR in ch.qos.logback.access.db.DBAppender[DB] - problem appending event java.lang.ClassCastException: ch.qos.logback.classic.spi.LoggingEvent cannot be cast to ch.qos.logback.access.spi.IAccessEvent
at java.lang.ClassCastException: ch.qos.logback.classic.spi.LoggingEvent cannot be cast to ch.qos.logback.access.spi.IAccessEvent
at at ch.qos.logback.access.db.DBAppender.subAppend(DBAppender.java:36)
at at ch.qos.logback.core.db.DBAppenderBase.append(DBAppenderBase.java:108)
at at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
at at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
at at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273)
at at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260)
at at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442)
at at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:396)
at at ch.qos.logback.classic.Logger.info(Logger.java:600)
at at org.slf4j.Logger$info.call(Unknown Source)
at at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at at org.steinmetz.bitcointools.aws.TransactionsGroupProcessor$_processEntryGroups_closure1.doCall(TransactionsGroupProcessor.groovy:37)
at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at at java.lang.reflect.Method.invoke(Method.java:597)
at at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1082)
at at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1106)
at at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:906)
at at groovy.lang.Closure.call(Closure.java:412)
at at groovy.lang.Closure.call(Closure.java:425)
at at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1326)
at at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1298)
at at org.codehaus.groovy.runtime.dgm$148.invoke(Unknown Source)
at at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
at at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
at at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at at org.steinmetz.mypkg.TransactionsGroupProcessor.processEntryGroups(TransactionsGroupProcessor.groovy:33)
at at org.steinmetz.mypkg.TransactionsGroupProcessor$processEntryGroups.call(Unknown Source)
at at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
at at org.steinmetz.mypkg.myapp.main(myapp.groovy:37)
at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at at java.lang.reflect.Method.invoke(Method.java:597)
at at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
这实际上是某种类型的错误吗?我通过 Gradle 在我的依赖项中同时拥有 logback-classic:1.1.2 和 log back-access:1.1.2 。事件类型似乎不应该以这种方式不兼容。
最佳答案
好的,找到问题了,是appender类的配置错误。
更改此行
<appender name="DB" class="ch.qos.logback.access.db.DBAppender">
到
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
有一个关于此问题的邮件列表主题:http://logback.10977.n7.nabble.com/DBAppender-issue-td811.html 。
我不知道从哪里获得使用其他类名的代码,但我相信一些代码示例包含该内容。
关于mysql - Logback DBAppender 不记录日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23879829/
我正在尝试使用 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
我是一名优秀的程序员,十分优秀!