jboss如何记log

本文详细介绍了JBoss日志框架的使用方法,包括JbossLogging、ApacheCommonsLogging、SimpleLoggingFacadeforJava(SLF4J)、Apachelog4j和JavaSELogging,并解释了默认的日志文件和standalone.xml中与日志相关的配置。此外,还说明了如何增加新的日志类别和配置相应的日志输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jboss文档的位置http://jbossas.jboss.org/docs


Jboss支持以下日志框架

JBoss Logging - included with JBoss Enterprise ApplicationPlatform 6

Apache Commons Logging - http://commons.apache.org/logging/

Simple Logging Facade for Java (SLF4J) - http://www.slf4j.org/

Apache log4j - http://logging.apache.org/log4j/1.2/

Java SE Logging(java.util.logging)


一般使用的日志级别

TRACE,DEBUG, INFO, WARN, ERROR,FATAL.

 

默认的日志文件

EAP_HOME/standalone/log/boot.log The server boot log. Contains log messages  relatedto the startup of the server.

EAP_HOME/standalone/log/server.log  The Server Log. Contains all log messages once  theserver has launched

 

standalone.xml中与日志相关的默认配置

<subsystemxmlns="urn:jboss:domain:logging:1.1">

            <console-handlername="CONSOLE">

                <levelname="INFO"/>

                <formatter>

                    <pattern-formatterpattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

                </formatter>

            </console-handler>

            <periodic-rotating-file-handlername="FILE">

                <formatter>

                    <pattern-formatterpattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

                </formatter>

                <filerelative-to="jboss.server.log.dir" path="server.log"/>

                <suffixvalue=".yyyy-MM-dd"/>

                <appendvalue="true"/>

           </periodic-rotating-file-handler>

            <root-logger>

               <level name="INFO"/>

                <handlers>

                    <handlername="CONSOLE"/>

                    <handlername="FILE"/>

                </handlers>

            </root-logger>

</subsystem>

 

可以看出其默认包含一个root-logger(这个应该也是一个loggercategory),其包含的handler为CONSOLE与FILE,一个负责在控制台输出,一个负责在文件中输出log

 

如何使用JBoss Logging框架来记录log

开发时需要导入jboss-logging-*.jar 或者在pom.xml中加入对这个的provided依赖(jboss server中包含这个jar)

import org.jboss.logging.*;

定义logger

private static final Logger loghandler = Logger.getLogger("HelloWorld.class");

使用logger

loghandler.info(fsdfffff");

 

如何使用Slf4j框架来记录log

Slf4j提供一套统一的日志api , 记日志的具体功能由底层的日志框架去实现

Sl4j api 会自动的去找底层的日志框架

 

Jboss提供了对slf4j的支持,其应该是定制实现了slf4j-api-*.jar, 同时实现了slf4j-jboss-logmanager-*.jar

我猜测这个slf4j-jboss- *.jar应该就属于slf4j中adaption layer一层(http://www.slf4j.org/manual.html), 具体记日志应该还是由jboss-logging-*.jar来做的

 

现在如果想增加一种日志,例如event.log

1.    修改standalone.xml,增加这种日志的category和对应的handler

  <periodic-rotating-file-handlername="EVENTLOG" autoflush="true">

                <formatter>

                    <pattern-formatterpattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-6p (%t) %m%n"/>

                </formatter>

                <filerelative-to="jboss.server.log.dir" path="event.log"/>

                <suffixvalue=".yyyy-MM-dd"/>

                <appendvalue="true"/>

   </periodic-rotating-file-handler>

 

<loggercategory="EventLog" use-parent-handlers="false">

                <levelname="INFO"/>

                <handlers>

                    <handlername="EVENTLOG"/>

                </handlers>

  </logger>

category和handler可以定义哪些属性,可以看jboss相关的schema定义jboss-as-logging_*.xsd,在docs/schema目录下


2.    开发程序时需要导入slf4j-api-*.jar或者加上对其的provided 依赖

import org.slf4j.*;

定义logger

private static final Logger loghandler= LoggerFactory.getLogger("EventLog"(这个是在standalone.xml中定义的日志级别));

使用logger

loghandler.info("fsdfffff");

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值