can you explain step by step how to use log4j in ejb module in Jboss7.1?
为了使log4j在ejb模块上工作,您能否请我按步骤进行操作?
情况是这样的:我有我的ejbmodule,它正在使用hibernate执行某些提取任务,并且我想记录所有内容。我想使用log4j,但我无法理解网络上描述的其他过程的某些步骤,例如jboss的步骤。
能不能一步一步告诉我我该怎么办?
据我所知:
-
我有我的配置文件(而且我不知道将其放在哪里)
-
我有log4j.jar(我不知道将其放置在哪里)
-
我不知道如何初始化日志环境(我有一个ejb会话bean,它在启动时会初始化hibernate状态,我想一个人来初始化记录器)
你们中的任何人都可以帮我吗?
预先感谢
编辑:
感谢您的拳头建议,它可能会有所帮助,但我不理解其他人可能在耳朵上是否有META-INF。
我的项目看起来像3个项目togheder:
- MyprojectLogic(包含ejbmodules)
- MyprojectLogicClient(包含所有接口,它是要提供给客户端的库)
- MyprojectLogicEAR(实际上什么也不包含,我没有得到它的目的)
答案:请参见下文或在此处查看javafortheweb或博客
Jboss已经随附了log4j。
开发EJB时,您需要:
JBoss已经在
这里是一个示例,编辑该文件并添加以下代码片段(按照文件的定义):
- 这是在日志文件夹内的文件myappfile.log中添加一个追加器(在已经在name =" FILE"下定义的后面添加此添加器):
1
2
3
4
5
6
7
8 <periodic-rotating-file-handler name="FILETWO">
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="myappfile.log"/>
<suffix value=".yyyy-MM-dd"/>
</periodic-rotating-file-handler>
- 添加此代码段告诉log4j将" com.mypackage"类别中的所有日志发送到先前创建的附加程序(将其复制到文件中其他已定义的记录器之后,但在根记录器之前):
1
2
3
4
5
6
7 <logger category="com.mypackage">
<level name="DEBUG"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILETWO"/>
</handlers>
</logger>
重新启动服务器,您应该在文件夹中看到新的myappfile.log。确保您的应用记录了一些内容,例如,在某些servlet中添加logger.info(" my servlet info log")并从浏览器中调用它。您还将在控制台中看到此日志
如果需要进一步的自定义,请参阅log4j帮助。