小编Bea*_*ean的帖子

Groovy脚本和log4j

在这里和那里寻找一个log4j在Groovy脚本中记录到文件的工作示例.

没有明确的类(它只是一个脚本).没有grails.不要控制...要归档.

只是一个带有log4j的简单groovy脚本.

log4j最适合这个(groovy)还是其他日志库更好?

有人可以指出我的例子或演示如何做到这一点?我设法让它到控制台,但没有提交.

如果log4j配置也在config.groovy文件中会很好,因为我正在使用配置文件来处理其他事情.

UPDATE

感谢neversleepz的例子,我有以下工作:

config.groovy文件:

log4j {  

  appender.stdout = "org.apache.log4j.ConsoleAppender"    
  appender."stdout.layout"="org.apache.log4j.PatternLayout"    
  appender.scrlog = "org.apache.log4j.FileAppender"    
  appender."scrlog.layout"="org.apache.log4j.PatternLayout"
  appender."scrlog.layout.ConversionPattern"="%d %5p %c{1}:%L - %m%n"         
  appender."scrlog.file"="rootscript.log" 
  rootLogger = "debug,scrlog,stdout"         
}
Run Code Online (Sandbox Code Playgroud)

我的剧本:

import org.apache.log4j.*
import groovy.util.logging.*   

def config = new ConfigSlurper().parse(new File('config.groovy').toURL())        
PropertyConfigurator.configure(config.toProperties())

Logger log = Logger.getInstance(getClass())

// Need to set log level as described here: 
// http://groovy.329449.n5.nabble.com/log4j-annotation-not-working-td4368806.html
log.level = Level.INFO

// this will NOT print/write as the loglevel is info
log.debug 'Executing Script.'
// this will print
log.info 'Simple sample to …
Run Code Online (Sandbox Code Playgroud)

groovy logging

20
推荐指数
2
解决办法
3万
查看次数

Grails和SQLite

试图让SQLite使用grails ...我在网上找到的东西似乎有点过时了 - 引用常春藤和插件等等,但基于这些:

http://stackoverflow.com/questions/1199512/grails-sqlite
http://bigohno.blogspot.com/2010/01/groovy-on-grails-sqlite.html
http://maven-repository.com/artifact/org.xerial/sqlite-jdbc/3.6.17
Run Code Online (Sandbox Code Playgroud)

我已经能够在测试环境中工作......奇怪的是,当我"推销"我的grails应用程序并部署到tomcat时,它失败了:

找不到方言类:hibernate.SQLiteDialect

这是我的设置:

在conf/hibernate中为SQLiteDialect添加了一个类.这个.java来自这里http://code.google.com/p/hibernate-sqlite/

然后在我的DataSource.groovy中我有:

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
            // SQLite
            // !!!see also BuildConfig for Dependancies!!!
            dbCreate="update"
            url='jdbc:sqlite:C:\\sqlite-shell-win32-x86-3080100\\rss_1.db'
            logSql="true"
            dialect="hibernate.SQLiteDialect"
            driverClassName="org.sqlite.JDBC"
            readOnly="true"

        }
    }

    production {
        dataSource {
            // SQLite
            dbCreate="update"
            url="jdbc:sqlite:/opt/sqlite/dbs/rss/1/rss_1.db"
            logSql="true"
            dialect="hibernate.SQLiteDialect"
            driverClassName="org.sqlite.JDBC"
            readOnly="true"
            showsql="false"

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在BuildConfig.groovy我有:

dependencies {

        runtime 'org.xerial:sqlite-jdbc:3.6.17'

    }
Run Code Online (Sandbox Code Playgroud)

我也把.java方言类装进了lib并放入了lib - 有些帖子说这有帮助.我还在lib中放了sqlite-jdbc-3.7.15-M1.jar.

现在,当我在我的开发环境中运行应用程序时它运行良好...但是当我部署到tomcat时,我得到了方言错误.

对于方言的刺激环境,我需要做些什么特别的事情吗?

sqlite grails

4
推荐指数
1
解决办法
3214
查看次数

标签 统计

grails ×1

groovy ×1

logging ×1

sqlite ×1