你能解释一下如何一步一步在Jboss7.1使用EJB模块的log4j?(can you explai

2019-10-17 14:31发布

你可以给我请一步步的程序可循,为了使EJB模块上的log4j的工作? 情况是这样的:我有我的ejbModule,这是使用Hibernate来执行一些任务取,我想记录的一切。 我想使用log4j的,但我不明白像来自JBoss的在网络上描述的其他工序的一些步骤。

能否请你告诉我,我应该一步做一步?

至于我是:

  • 我有我的配置文件(我不知道在哪里把它)

  • 我已经得到了log4j.jar(我不知道在何处放置它)

  • 我不知道如何初始化日志环境(我有一个EJB会话bean它在启动时初始化休眠,我想一个初始化记录器)

你们谁能帮助我吗?

提前致谢

编辑:感谢您的拳头暗示它可能会帮助,但我不如何已了解其他人可能在耳META-INF。 我的项目看起来像3个项目togheder:

  • MyprojectLogic(其中包含ejbmodules)
  • MyprojectLogicClient(其中包含所有的接口,这是必须考虑到的客户端库)
  • MyprojectLogicEAR(实际上包含什么,我没有得到什么是它的目的)

答:参照下或在这里查看javafortheweb或博客

Answer 1:

Jboss的已经自带了log4j的。 当开发你的EJB,你需要:

  1. 导入Logger类: import org.apache.log4j.Logger;
  2. 如果导入不能解决,这个jar添加到路径:%JBOSS_HOME%\模块\组织\阿帕奇\ log4j的\主\ log4j的,1.2.16.jar
  3. 创建与记录器的字段: private static Logger logger = Logger.getLogger(YourEJBClass.class);
  4. 使用任何方法记录: logger.info("my log");

JBoss的已经自带了下一个配置文件%JBOSS_FOLDER%/standalone/configuration/standalone.xml 。 默认情况下,记录器将输出的server.log和控制台,但您可以将您的应用程序日志中添加一些附加器输出到另一个文件。

下面是一个例子,编辑该文件并添加以下代码段(该文件的定义如下):

  • 这一个是一个appender添加到日志文件夹内的文件myappfile.log(下名=“FILE”已经定义的后添加此右):
 <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"/> <append value="true"/> </periodic-rotating-file-handler> 
  • 加上这段代码告诉log4j的从“com.mypackage”类别先前创建的附加器发送的所有日志(复制之后的文件中其他定义记录这个权利,但根记录器前):
 <logger category="com.mypackage"> <level name="DEBUG"/> <handlers> <handler name="CONSOLE"/> <handler name="FILETWO"/> </handlers> </logger> 

重新启动服务器,你应该看到文件夹中的新myappfile.log。 请确保您的应用程序日志的东西,例如,添加logger.info(“我的servlet信息登录”)在一些servlet和从浏览器中调用它。 您还可以看到该日志在控制台

如果您需要进一步的定制,看看log4j的帮助。



文章来源: can you explain step by step how to use log4j in ejb module in Jboss7.1?