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" 下已经定义的后面添加这个):
<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。确保您的应用程序记录一些内容,例如,在某个 servlet 中添加 logger.info("my servlet info log") 并从浏览器中调用它。您还将在控制台中看到此日志
如果您需要进一步定制,请查看 log4j 帮助。