关于Java:能否逐步说明如何在Jboss7.1的ejb模块中使用log4j?

 2021-04-09 

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时,您需要:

  • 导入Logger类:import org.apache.log4j.Logger;
  • 如果导入无法解决,请将此jar添加到以下路径:%JBOSS_HOME%\\\\ modules \\\\ org \\\\ apache \\\\ log4j \\\\ main \\\\ log4j-1.2.16.jar
  • 用记录器创建一个字段:private static Logger logger = Logger.getLogger(YourEJBClass.class);
  • 使用记录器的任何方法:logger.info("my log");
  • JBoss已经在%JBOSS_FOLDER%/standalone/configuration/standalone.xml下附带了一个配置文件。默认情况下,您的记录器将输出到server.log和控制台,但是您可以添加一些附加程序以将您的应用程序日志输出到另一个文件。

    这里是一个示例,编辑该文件并添加以下代码片段(按照文件的定义):

    • 这是在日志文件夹内的文件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帮助。