我正在将grails 2.5.4应用程序中的log4j依赖项从1.2.17升级到最新版本2.17.1
我从BuildConfig.groovy中排除了log4j,并添加了与v2.17.1相关的以下依赖项:
我用的是log4-1。x桥接以减少总体代码基更改。
我添加了以下log4j2。conf目录下的属性文件:
rootLogger.level = INFO
rootLogger.additivity = false
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %m%n
但在应用程序启动和使用期间,我注意到控制台中添加了额外的日志:
..........................................Attempting to load [0] user defined plugins
Grails plug-in [dataBinding] with version [2.5.4] loaded successfully
Grails plug-in [i18n] with version [2.5.4] loaded successfully
Grails plug-in [restResponder] with version [2.5.4] loaded successfully
Grails plug-in [core] with version [2.5.4] loaded successfully
Grails plug-in [greenmail] with version [1.3.4] loaded successfully
Grails plug-in [executor] with version [0.3] loaded successfully
Grails plug-in [webxml] with version [1.4.1] loaded successfully
Grails plug-in [cacheHeaders] with version [1.1.7] loaded successfully
Grails plug-in [browserDetection] with version [2.8.1] loaded successfully
Grails plug-in [console] with version [1.5.12] loaded successfully
Grails plug-in [remotePagination] with version [0.4.8] loaded successfully
Grails plug-in [tomcat] with version [7.0.42] loaded successfully
...
一些Hibernate日志也出现了(由于存在域信息,所以没有添加日志)
看起来内部Grails日志被附加到控制台。在应用程序使用过程中,出现了以下类型的日志:
FrameworkServlet 'gsp': initialization started
GSP servlet initialized
FrameworkServlet 'gsp': initialization completed in 39 ms
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/favicon.ico
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/spinner.gif
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/spinner.gif
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/spinner.gif
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/spinner.gif
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/spinner.gif
Invocation of <r:resource> for a resource that apparently doesn't exist: /assets/spinner.gif
...
似乎将additivity属性设置为false不起作用。我也尝试过使用添加剂,但没有成功。
我注意到Config.groovy中的log4j配置也没有被读取。
log4j = {
appenders {
'null' name: 'empty'
environments {
development {
'null' name: 'stacktrace'
appender name: "appLog",
new org.apache.log4j.DailyRollingFileAppender(
threshold: org.apache.log4j.Level.INFO,
datePattern: "'.'yyyy-MM-dd",
file: "/tmp/test.log",
layout: pattern(conversionPattern: '[%d{yyyy-MM-dd hh:mm:ss.SSS}] %p %c{5} %m%n'))
root {
info stdout
}
}
production {
file name: 'stacktrace', file: "/logs/stacktrace.log".toString()
root {
error 'stdout'
info stdout
}
}
}
}
// off 'ErrorsController & ResourceMeta'
off 'org.grails.plugin.resource.ResourceMeta',
'org.springframework.security.saml.metadata'
error empty: ['grails.app.services.org.grails.plugin.resource',
'grails.app.taglib.org.grails.plugin.resource',
'grails.app.resourceMappers.org.grails.plugin.resource',
'grails.app.resource.ResourceMeta']
info 'grails.plugin.springsecurity.web.filter.DebugFilter'
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate'
debug 'org.springframework.security.saml'
warn 'org.mortbay.log'
environments {
development {
//info additivity: true, appLog: "grails.app"
}
}
root {
additivity = false
}
}
有人能指导我做错了什么吗?我如何阻止内部日志追加?
首先,在根记录器上指定相加性是没有意义的。请参阅Log4j 2配置-相加性了解相加性的工作原理。
开箱即用的Log4j 1不支持通过Groovy进行配置。据我所知,你们提供了一个基本的log4j 1。x配置,然后Groovy工具正在修改该配置。如果不看工具文档,我无法确定所有语法的含义。然而,很明显,这些线条
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate'
在错误级别声明单个记录器。
因此,您需要在配置中添加行,例如
logger.hibernate.name = org.hibernate
logger.hibernate.level = error
以匹配Groovy代码的功能。如果不指定可加性,它将默认为true,消息将被路由到与根记录器关联的appender。
我使用Log4j2(v2.17.2)直接向kafka发送信息,并使用XML创建配置(正如许多文章提到的那样,XML可以处理更多的配置选项,而属性不能)。我的问题是,我的控制台中充满了不相关的信息日志行(例如): 我已经从programmetically-change-log-level-in-log4j2中试用了所有技术,没有对日志进行任何更改: 有人有运气从INFO中获得日志级别降低吗?我真的不
我已将小应用程序更新到Grails 3.2.3。经过一些问题,现在解决了Grails 3. x更新-bootRun失败 但不幸的是,该应用程序无法使用。在我的高端笔记本电脑ThinkPad 460p上,我甚至无法加载应用程序的主页。它正在加载很长时间,然后CSS样式根本没有加载。圣杯运行应用程序或IDEA运行配置没有错误消息。 我不知道现在该怎么做,这里描述了所有配置Grails 3.x更新-bo
0.8.0 [!]从 alibaba/weex-ui 迁移到 apcahe/incubator-weex-ui 0.7.1 [+] wxc-slider-bar 新增 wxcSliderBarTouchEnd 事件. [!] 修复 wxc-mask 输入时候抖动问题 [!] 修复调试时候 console 不显示二维码的问题 0.7.0 [-] 移除支付宝判断,防止审核问题 issue/467 [!
5.0.170927 [核心] 增加是否开放注册设置 增加已经安装模板文件检测是否已经删除功能 增加模板卸载风险提示 增加钩子同步功能 增加用户操作同步功能 #291 增加网站信息【$site_info】变量,可以在插件中使用 #310 修复添加管理员不能登录 #110 优化 admin.js 优化后台模板设计排版 优化后台加密码设置 返回按钮统一优化 优化 url 美化时规划选择 修复api模块
6.0.0-alpha0 [核心] 升级ThinkCMF 5.1到ThinkPHP 6.0
在将Grails版本从2.3.6升级到2.4.5之后,我现在在运行Geb Spock测试时遇到了一个异常。 我记得在Grails 2.3.6中最初设置Geb时遇到过这个异常,其中BuildConfig和GebConfig文件没有正确配置。然而,在重新检查Geb所需的必要插件和依赖项时,我没有注意到Grails 2.4.5有任何不同。此外,我将依赖项解析从Ivy切换到Maven,因此我再次检查Mav