当前位置: 首页 > 知识库问答 >
问题:

Grails不写入日志文件

卢才艺
2023-03-14

我的grails配置log4j部分中有以下内容:

appenders {
  file name: "usageAppender", file: "${logDirectory}/onetract3.log"
}

root { error 'stdout', 'usageAppender' }

info usageAppender: "grails.app.services.com.onetract.onetract.UserService"

文件“onetract3.log”已成功创建,但未向该文件写入任何内容。

我可以在控制台中看到信息处理正确。

2014-03-09 20:09:06,912 [http-bio-8080-exec-5] INFO  onetract.UserService  - New candidateRelations for: com.onetract.onetract.Person : 18

Grails版本是2.3.5

知道为什么这没有写入日志文件吗?

编辑:10.03.1014,设置相加为false。

info additivity: false 
    usageAppender: "grails.app.services.com.onetract.onetract.UserService" 

共有2个答案

边明煦
2023-03-14

问题是由以下条目引起的:

file: "${logDirectory}/onetract3.log"

在应用程序运行之前,这是有效的,而在运行之后则不行。

解决方法是明确地告诉appender文件的位置,即。

file: "logs/onetract/onetract3.log"

这然后工作。

弓智明
2023-03-14

用这个

// Example of changing the log pattern for the default console appender:
//
//appenders {
//    console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
//}

    appenders {
        rollingFile  name:'myLogFile', 
        file:'log/myLogFile.log', 
        threshold: org.apache.log4j.Level.ALL, 
        maxFileSize:10485760
    }
    root {
        error 'myLogFile'
        additivity = true
    }

   info "grails.app","com.test"
   warn "grails.app","com.test"
   debug "grails.app","com.test"
   error "grails.app","com.test"
   fatal "grails.app","com.test"
   trace "grails.app","com.test"

   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',
          'net.sf.ehcache.hibernate'
 类似资料:
  • 问题内容: 我正在尝试配置log4j以将消息记录到文件中。现在,确实使用我提供的名称创建了该文件,但是日志未写入该文件。我的代码: 我文件的内容: 运行此命令时,将在控制台中获得以下输出: 该文件确实在我的主目录中创建。但是它是空的。 有什么想法我做错了吗?我正在使用log4j 1.2.17版。 问题答案: 输出似乎是Java标准日志记录框架(JUL)发出的默认格式。 因此,有两种可能性(想到):

  • 我正在使用带有log4j2的Spring Boot1.5.9,当我测试日志记录功能时,创建了日志文件,但没有将日志写入其中,而控制台日志记录程序运行良好。请在pom.xml&log4j2.properties配置下面找到。 log4j2.properties文件:

  • 我已经将log4j2.properties文件与springboot应用程序一起使用。正在创建日志文件,但日志未写入该文件。 日志出现在控制台,但没有写入文件,因为我没有得到问题。 奇怪的是,父包记录器“logger Enabled:Enting main\n\n”被写入文件,而另一个父包记录器“****演示应用程序启动*****”没有被写入文件,如上面的代码所示。并且还检查了子包,即记录器,甚至

  • 我正在尝试配置log4j以将消息记录到文件中。现在,文件确实是用我提供的名称创建的,但是日志并没有写入文件中。我的代码: 我的文件: 运行此命令时,我在控制台中得到以下输出: 文件确实在我的主目录中创建。但它是空的。 知道我做错了什么吗?我使用的是log4j版本1.2.17。

  • 问题内容: 我正在尝试使用Go写入日志文件。 我尝试了几种方法,但都失败了。这是我尝试过的: 日志文件被创建,但是没有任何打印或附加到该文件。为什么? 问题答案: 过去的工作方式一定不同,但这对我有用: 基于Go文档,不能用于,因为它会打开文件“供阅读:” 打开命名文件以供读取。如果成功,则可以使用返回文件上的方法进行读取;关联的文件描述符具有mode 。如果有错误,它将是类型。 编辑 检查后移至

  • 我在我的项目中使用log4j。我想有标准输出、调试记录器和最终报告记录器。调试记录器几乎写调试/信息级别的消息。报告将是不同的记录器,只写信息消息。我尝试了不同的方法,阅读了很多示例,我仍然无法解决这个问题。要么我丢失了我的标准输出,要么我将所有调试写入两个记录器。 我的密码在这里 } 任何提示都将不胜感激