Java 您能否逐步解释如何在Jboss7.1的ejb模块中使用log4j?

Java 您能否逐步解释如何在Jboss7.1的ejb模块中使用log4j?,java,jboss,log4j,ejb,jboss7.x,Java,Jboss,Log4j,Ejb,Jboss7.x,为了让log4j在ejb模块上工作,您能给我一个循序渐进的过程吗? 情况是这样的:我有我的ejbmodule,它使用hibernate执行一些获取任务,我想记录所有的事情。我想使用log4j,但我无法理解web上描述的其他过程的某些步骤,比如jboss中的步骤 你能告诉我应该一步一步地做什么吗 就我而言: 我有我的配置文件(我不知道放在哪里) 我有log4j.jar(我不知道放在哪里) 我不知道如何初始化日志环境(我有一个ejb会话bean,它在启动时初始化hibernate,我想要一个来初始

为了让log4j在ejb模块上工作,您能给我一个循序渐进的过程吗? 情况是这样的:我有我的ejbmodule,它使用hibernate执行一些获取任务,我想记录所有的事情。我想使用log4j,但我无法理解web上描述的其他过程的某些步骤,比如jboss中的步骤

你能告诉我应该一步一步地做什么吗

就我而言:

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

  • 我有log4j.jar(我不知道放在哪里)

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

你们谁能帮帮我吗

提前谢谢

编辑: 谢谢你的第一个建议,它可能会有帮助,但我不理解别人怎么可能有META-INF的耳朵。 我的项目看起来有3个项目:

  • MyprojectLogic(包含EJB模块)
  • MyprojectLogicClient(包含所有接口,它是提供给客户端的库)
  • MyprojectLogicEAR(它实际上不包含任何内容,我不知道它的目的是什么)

回答:请参阅下面的内容或在此处查看,或者

Jboss已经附带了log4j。 开发EJB时,您需要:

  • 导入Logger类:
    import org.apache.log4j.Logger
  • 如果导入未解析,请将此jar添加到路径:%JBOSS\u HOME%\modules\org\apache\log4j\main\log4j-1.2.16.jar
  • 使用记录器创建一个字段:
    private static logger=logger.getLogger(YourEJBClass.class)
  • 以任何方式使用记录器:
    logger.info(“我的日志”)
  • JBoss已经在
    %JBoss\u文件夹%/standalone/configuration/standalone.xml
    下提供了一个配置文件。默认情况下,记录器将输出到server.log和console,但您可以添加一些appender以将应用程序日志输出到另一个文件

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

    • 这是在logs文件夹中的文件myappfile.log中添加一个appender(在name=“file”下已定义的文件后面添加):
    
    
    • 添加此代码段告诉log4j将“com.mypackage”类别中的所有日志发送到先前创建的appender(将其复制到文件中其他定义的记录器之后,但在根记录器之前):
    
    
    重新启动服务器,您应该会在文件夹中看到新的myappfile.log。确保你的应用程序记录了一些东西,例如,在某个servlet中添加logger.info(“我的servlet信息日志”),并从浏览器调用它。您还将在控制台中看到此日志


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

    嘿,检查这一个希望[1]能帮助您[1]:好的,伙计们,我试了两个小时,但似乎不起作用。。还有其他建议吗?泰·拉斐尔,请回答。我使用的是jboss as 7.1.1,在jboss文件夹中没有带有“jboss-log4j.xml”的文件夹“config”,如果我想使用“import org.apache.log4j.*”我应该将其相对jar添加到类路径中,因此它会与假定的已经存在的log4j相冲突,请您友好一点,并在解释中更加清楚(我对此非常赞赏,因为这是我见过的所有版本中最容易理解的一个)。谢谢没有问题。对于导入,如果您使用eclipse,只需将运行时环境添加到类路径(项目属性->Java构建路径->库->添加库->服务器运行时->您的\u服务器)。如果没有配置服务器,只需将log4j.jar添加到类路径(出现在%JBOSS_PATH%/common/lib/。我的信息来自JBOSS 5服务器,但它似乎在JBOSS 7中不可用。让我再深入一点,我会回来的。是的,这在JBOSS AS 7.1.x上不起作用。如果您不使用控制台或某个文件附加器以外的任何附加器,您可以使用日志子系统配置它,而不是必须担心包含log4j配置。否则请看@Rafael GREAT!它似乎工作得很好!非常感谢!我会为需要它的人发一篇帖子,并在博客上引用你的话。。
    <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>
    
    <logger category="com.mypackage">
        <level name="DEBUG"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILETWO"/>
        </handlers>
    </logger>