我在我的Config.groovy中的grails应用程序中正确配置了log4j DSL.使用grails run-app运行应用程序转储完全记录,就像我在DSL中指定的那样.但是,在执行grails war生成war文件并将其部署到tomcat之后,日志记录就会消失.我无法看到它在任何地方工作,除了tomcat控制台在调试级别显示数百万条日志语句,并且没有特定于我登录日志文件.
log4j = {
appenders {
appender new org.apache.log4j.DailyRollingFileAppender(name: "tomcatLog", datePattern: "'.'yyyy-MM-dd", file: "${logDirectory}/snm.log".toString(), layout: pattern(conversionPattern: '[%d{yyyy-MM-dd hh:mm:ss.SSS}] %p %c{5} %m%n'))
}
root {
info 'stdout', 'tomcatLog'
additivity = true
}
info 'grails.app',
'grails.app.controller',
'grails.app.bootstrap',
'grails.app.service',
'grails.app.task',
'commons',
'jsontwitter'
}
Run Code Online (Sandbox Code Playgroud)
你能解释一下上面的DSL吗?它发送公共.*和jsontwitter.*类日志到指定的日志文件但没有控制器,服务日志保存在文件中.
谢谢,阿拉姆谢尔
使用firebug我只知道如何查看调用的ajax文件.
我有一个jquery鼠标单击事件处理程序绑定到一个链接元素.
有没有可能看到点击一个元素时使用了什么javascript代码,以防你忘了你是否有一个事件处理程序或其他javascript代码耦合到它?
我需要的是获取相应标签的文本并将其保存到数据库中.由于xml文件很大(4.5GB),我使用的是sax.我使用characters方法获取文本并将其放在字典中.但是当我在endElement方法中打印文本时,我得到一个新行而不是文本.
这是我的代码:
def characters(self,content):
text = unescape(content))
self.map[self.tag]=text
def startElement(self, name, attrs):
self.tag = name
def endElement (self, name)
if (name=="sometag")
print self.map[name]
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我正在将许多C#项目从vs.net 2008升级到vs.net 2010 rc.我注意到升级在*.csproj文件中创建了一个BootstrapperPackage部分(包括Microsoft.NET.Framework.3.5和3.5sp1).我想知道BootstrapperPackage是做什么的,我需要它们吗?
任何免费且简单的WYSIWYG BBCode编辑器适用于JavaScript?
为什么有些网站(如facebook)会在iframe中加载脚本?
这是否允许网站一次加载2个以上的资源,因为iframe的资源位于不同的URL?
我正在完成一个小项目,一个iPhone游戏.
我一直在扩展我的GameObject类,包括通电和地雷.它们在物理上彼此相同.
昨晚深夜,我提出了制作两个GameObject子类的天才想法.它们每个不到一百行.我还必须做一些事情,比如在迭代GameObjects列表时将它们转换为各自的子类,在NSStrings和类之间进行转换......等等.
现在我只是摆脱了那些类,并在我的类中添加了一个int(ID)和NSString(类型).它实际上是对象所需的所有信息,并且到目前为止运行良好.
这是否违背了一些明显的OOP,或者对于这么小的东西来说这是正常的吗?或者我应该一起做些不同的事情吗?
我需要什么样的选择器才能在下面的例子中插入test3类的父(divouter)之后?谢谢.
<div class='divouter'>
<div class='divinner'>
<input class=test1></input>
</div>
</div>
<div class='divouter'>
<div class='divinner'>
<input class=test2></input>
</div>
</div>
<div class='divouter'>
<div class='divinner'>
<input class=test3></input>
</div>
</div>
<div class='divouter'>
<div class='divinner'>
<input class=test4></input>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)