Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JBOSS中的自定义日志_Java_Jboss_Application Server - Fatal编程技术网

Java JBOSS中的自定义日志

Java JBOSS中的自定义日志,java,jboss,application-server,Java,Jboss,Application Server,大家好 我对记录器有问题。我想登录到自定义文件,但这些文件为空。 有人能帮忙吗? 基本记录器: import org.apache.log4j.FileAppender; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import java.io.File; import java.io.IOException; public class BaseLogger { private Logge

大家好
我对记录器有问题。我想登录到自定义文件,但这些文件为空。 有人能帮忙吗?
基本记录器:

import org.apache.log4j.FileAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import java.io.File;
import java.io.IOException;

public class BaseLogger {
    private Logger logger;

    private BaseLogger(){

    }

    public BaseLogger(String loggerName) {
        this.logger = Logger.getLogger(loggerName);
        try {
            this.logger.addAppender(createAppender(loggerName + "_APP.LOG"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        logger.info("logger init.");
    }

    public void logInfo(String info){
        logger.info(info);
    }

    public void logInfo(String info, Throwable t){
        logger.info(info, t);
    }

    public void logError(String error) {
        logger.error(error);
    }

    public void logError(String error, Throwable t) {
        logger.error(error, t);
    }

    public void logFatal(String fatal) {
        logger.fatal(fatal);
    }

    public void logFatal(String fatal, Throwable t) {
        logger.fatal(fatal, t);
    }

    private FileAppender createAppender(String fileName) throws IOException {
        return new FileAppender(new PatternLayout(),   System.getProperty("jboss.server.log.dir") + File.separator + fileName);
    }
}

记录器类别:

public class ServicesLogger {
    public static final BaseLogger GENERAL_LOGGER = new BaseLogger("GENERAL_LOGGER");
    public static final BaseLogger SERVICE_EXECUTOR = new  BaseLogger("SERVICE_EXECUTOR");
}

当我调用ServicesLogger.SERVICE_EXECUTOR.logInfo(“info”);在jboss控制台中显示此文本,但在文件中不显示。
问题出在哪里?

您只能在代码中添加以下内容:

import org.apache.log4j.Logger;
...
public class SomeClass {
    private Logger logger = Logger.getLogger("GENERAL_LOGGER");
...
    logger.info("some info");
}
然后将appender添加到服务器配置文件:

<subsystem xmlns="urn:jboss:domain:logging:1.1">
...
    <periodic-rotating-file-handler name="GENERAL_LOGGER_handler">
        <formatter>
            <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
        </formatter>
        <file relative-to="jboss.server.log.dir" path="GENERAL_LOGGER_APP.LOG"/>
        <suffix value=".yyyy-MM-dd"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="GENERAL_LOGGER">
        <level name="DEBUG"/>
        <handlers>
            <handler name="GENERAL_LOGGER_handler"/>
        </handlers>
    </logger>
...

...
...

您能告诉我它在weblogic app server中是如何工作的吗?