- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
(我的第二个Gradle问题...)
我正在尝试在我的任务之一中设置对Velocity的调用。 Velocity直接调用log4j,Gradle似乎以某种方式将其转移到其log4j-over-slf4j-1.7.2.jar,从而导致NoSuchMethodError。
所以我有:
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'org.apache.velocity:velocity:1.7'
// ... asumes provided:
classpath 'log4j:log4j:1.2.12'
}
}
def template = Velocity.getTemplate('src\\jnlp\\jnlpTemplate.vm')
Caused by: java.lang.NoSuchMethodError: org.apache.log4j.PatternLayout.<init>(Ljava/lang/String;)V
at org.apache.velocity.runtime.log.Log4JLogChute.initAppender(Log4JLogChute.java:117)
at org.apache.velocity.runtime.log.Log4JLogChute.init(Log4JLogChute.java:85)
at org.apache.velocity.runtime.log.LogManager.createLogChute(LogManager.java:157)
at org.apache.velocity.runtime.log.LogManager.updateLog(LogManager.java:269)
at org.apache.velocity.runtime.RuntimeInstance.initializeLog(RuntimeInstance.java:871)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:262)
at org.apache.velocity.runtime.RuntimeInstance.requireInitialization(RuntimeInstance.java:302)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1531)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1514)
at org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:299)
at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:358)
at org.apache.velocity.app.Velocity$getTemplate.call(Unknown Source)
at build_49a099islbrnod06rkiudfavms$_run_closure1.doCall(C:\home\...\build.gradle:67)
最佳答案
您必须从应用程序中删除log4j jar:网桥log4j-over-slf4j和log4j具有相同的方法和相同的签名(可能由于类路径中不同的加载顺序而导致某些问题)。如果要使用网桥,则不需要log4j lib,则必须选择另一个实现slf4j的日志记录框架(例如log-back)。
这可能是版本问题。网桥的1.7.2版本可能太高,请尝试降级到较低版本。
关于log4j - gradle NoSuchMethodError:org.apache.log4j.PatternLayout。<init>(Ljava/lang/String;),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19960865/
是否可以定义两个不同的 PatternLayouts 并依赖于它使用第一个或第二个的应用程序 LogLevel? 示例: 如果我使用默认的 ERROR 级别运行我的应用程序,它应该打印如下日志语句:
在 中使用时,我无法确定使用这两个 log4j 转换字符之间的确切区别。 log4j 模式布局 ( log4j patternLayout ) 类别 (%c) 类 (%C) 有人可以给我一个例子,说明
我有一个记录器将日志发送到日志服务器存储。这工作正常,但没有使用patternlayout。不管有没有,都不会改变任何事情。我相信记得在某处读过 socketappender 使用的是自己的模式而不是
我使用 logback 作为 Slf4j 的后端。目前,我使用 logback.xml 文件配置记录器。我的问题是敏感信息正在被记录(超出我的控制范围),我想屏蔽这些敏感信息。为了屏蔽信息,我编写了一
App.config 看起来像这样: 代码如下所示: foreach (var ev in events) { string msg = ev.RenderedMess
我正在尝试输出一个包含 字符的模式 08:06:41 DEBUG 69 [ch.fhnw.edu.rental.model.Movie] - 是日志消息。 我的PatternLayout如下:
由于 Log4J2 的 org.apache.logging.log4j.core.layout.PatternLayout 类是 final,我无法扩展它来为我的 创建 header CSV。 我引
我的 log4j.xml 文件中当前的转换模式如下: 我有一个简单的要求,即在 %c(即“错误”)前面加上“运行时”一词。无论如何,使用模式布局我可以简单地将这个单词添加到模式中以将其打印到日志文件
我正在运行 Tomcat 8.0.9 并使用 log4j2。我在控制台附加器上定义了一个模式布局,并将其设置为 SYSTEM_OUT。布局模式类似于: %d{yyyy-MM-dd} %m%n 但是当调
在检查 PatternLayout 的 javadoc 时,我注意到它建议改用 EnhancedPatternLayout。然而,它似乎做了几乎相同的事情。 主要区别是什么,尤其是我需要注意的区别?
我需要登录 log4j2,如下所示: 14:28:00.404 app_name="splunk 示例应用"method_name=main desc="示例日志" 模式因双引号而失败。 doubl
我用 log4net 创建了自己的 Appender, public class TextBoxAppender : AppenderSkeleton { ...(constructor
是否可以在 log4j2.xml 配置文件中定义(命名的)PatternLayout?
我正在将一个大型应用程序从 Log4j1 转换为 Log4j2,并找到了这个类。 PatternLayout 不能在 Log4j2 中扩展,但我知道我使用 Plugins 将此类转换为 Lug4j2
我目前在库中使用 Log4J,并希望转而使用 SLF4J 以允许库的用户选择日志记录框架。 除了我用来在日志消息到达屏幕或日志之前替换日志消息中的文本的一个类之外,一切都很好: public clas
当使用自定义“PatternLayout”时,log4net 会将“异常”信息(如果存在)附加到每个日志条目。我正在尝试控制消息和堆栈跟踪信息的输出,并希望“抑制”此信息。我四处搜寻,但找不到办法。有
我需要将事件记录到系统日志中。我使用 lo4j2 和 syslog appender。我在 log4j2.xml 中的 appenders block 看起来像这样:
我已经创建了一个自定义 PatternLayout,我在 logback 的 Access 和 File appender 中使用它,我也想将它用于 LoggingEventCompositeJson
我们正在将日志记录从 log4j 迁移到 log4j2。但是,我在迁移扩展 PatternLayout 的类时遇到问题,因为它现在是 final。 旧的图案布局代码将所有出现的 \r 和 \n 替换为
对于那些正在开发 PCI 范围内应用程序的人来说,指南建议您应该将应用程序日志存储在另一层,将远程处理到其他地方的系统日志服务器感觉是最佳实践。 问题变成了,PatternLayout 应该是什么样子
我是一名优秀的程序员,十分优秀!