Java Logger记录所有内容

吉拉德·巴鲁奇安(Gilad Baruchian)

我正在使用java.util.logging。我想要2条日志-一个用于时间测量,另一个用于所有其他事情。问题是计时器记录器仍然记录所有内容,如何告诉它仅记录发送到logTime方法的内容?

import configurations.ConfigReader;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.*;

import configurations.Time;
import main.Main;
/**
* Created by giladba on 27/01/2016.
*/
public class LogManager {
    private static final String LOGS_PATH = (String) ConfigReader.get(ConfigReader.Field.LOGS);
    private static Logger globalLogger = Logger.getLogger(Main.class.getName());
    private static Logger timingLogger = Logger.getLogger(Main.class.getName());

    static {
        initLoggers(globalLogger, (String) ConfigReader.get(ConfigReader.Field.ST_VIEW));
        initLoggers(timingLogger, ConfigReader.get(ConfigReader.Field.ST_VIEW) + "_timing");
        timingLogger.setUseParentHandlers(false);
    }

    public synchronized static void log(String message) {
        globalLogger.info(message);
    }

    public synchronized static void logTime(String action, long time1, long time2) {
        timingLogger.info(Time.getTimeNowFormatted() + action + "\t\t : " + (time2-time1) + " ms");
    }

    /**
     * Initializes the logger.
     * @throws SecurityException
     * @throws IOException
     */
    private static void initLoggers(Logger curLog, String name) throws SecurityException {
        FileHandler procHandler = null;
        try {
            File file = new File(LOGS_PATH);
            if(!file.exists())
                file.mkdirs();
            procHandler = new FileHandler(LOGS_PATH + name + "_log.out", 2048000, 20, true);
        } catch (IOException e) {
            e.printStackTrace();
        }

        procHandler.setFormatter(new MyFormatter());

        procHandler.setLevel(Level.INFO);

        curLog.addHandler(procHandler);
        curLog.setUseParentHandlers(true);
        curLog.info("\n");
        curLog.info("--------" + (new SimpleDateFormat("dd-MM-yy_HH:mm:ss")).format(new Date()) + "--------");
    }

    /**
     * simple naked formatter for the log files.
     * @author jeremieg
     *
     */
    static class MyFormatter extends Formatter {

        @Override
        public String format(LogRecord arg0) {
            return arg0.getMessage() + "\n";
        }
    }
}
提洛
private static Logger globalLogger = Logger.getLogger(Main.class.getName());
private static Logger timingLogger = Logger.getLogger(Main.class.getName());

那是相同的记录器,结果,您的配置变得混乱。

您必须使用两个不同的名称Logger.getLogger才能获得两个不同的记录器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB获取所有记录Java API

来自分类Dev

Java:队列未显示所有记录

来自分类Dev

Java日志记录不是所有类的日志记录?

来自分类Dev

使用带有附加内容的getHead()进行Java日志记录

来自分类Dev

如何记录来自Akka的所有传入消息(Java)

来自分类Dev

使用Java API从Elasticsearch获取所有记录

来自分类Dev

Java Import通配符未导入包中的所有内容

来自分类Dev

Java anti fillRect(填充矩形以外的所有内容)

来自分类Dev

Java EE中的所有内容都是抽象的吗?

来自分类Dev

如何通过Java Scanner读取所有内容?

来自分类Dev

Java不会将所有内容写入文件

来自分类Dev

Java Regex-捕获引号之外的所有内容

来自分类Dev

如何循环遍历所有复选框,而Java容器中没有其他内容

来自分类Dev

Django Logger未记录日志,但所有其他记录器均正常工作

来自分类Dev

Rails HABTM:选择记录“有”的所有内容

来自分类Dev

Java:解析XML并将所有数据内容绑定到Map <K,V>

来自分类Dev

JAVA字符串替换所有主题标签的内容

来自分类Dev

Java:将输入与列表中的所有内容进行比较而不使用循环?

来自分类Dev

Java表达式并使用eval删除DOT之后的所有内容

来自分类Dev

Java令牌化:将下划线分隔的所有内容视为一个单词

来自分类Dev

从大型CSV文件读取而不用Java将所有内容加载到内存的最佳方法

来自分类Dev

Java:解析XML并将所有数据内容绑定到Map <K,V>

来自分类Dev

Java正则表达式,除字母字符/字符串外的所有内容

来自分类Dev

JAVA字符串替换所有主题标签的内容

来自分类Dev

如何使用Java中的可序列化功能复制所有内容

来自分类Dev

删除Java中除某些DOM元素以外的所有内容?

来自分类Dev

Java中的所有内容是否都可以进行垃圾回收?

来自分类Dev

如何使用哨兵/ raven-js记录所有内容

来自分类Dev

如何使用哨兵/ raven-js记录所有内容

Related 相关文章

  1. 1

    MongoDB获取所有记录Java API

  2. 2

    Java:队列未显示所有记录

  3. 3

    Java日志记录不是所有类的日志记录?

  4. 4

    使用带有附加内容的getHead()进行Java日志记录

  5. 5

    如何记录来自Akka的所有传入消息(Java)

  6. 6

    使用Java API从Elasticsearch获取所有记录

  7. 7

    Java Import通配符未导入包中的所有内容

  8. 8

    Java anti fillRect(填充矩形以外的所有内容)

  9. 9

    Java EE中的所有内容都是抽象的吗?

  10. 10

    如何通过Java Scanner读取所有内容?

  11. 11

    Java不会将所有内容写入文件

  12. 12

    Java Regex-捕获引号之外的所有内容

  13. 13

    如何循环遍历所有复选框,而Java容器中没有其他内容

  14. 14

    Django Logger未记录日志,但所有其他记录器均正常工作

  15. 15

    Rails HABTM:选择记录“有”的所有内容

  16. 16

    Java:解析XML并将所有数据内容绑定到Map <K,V>

  17. 17

    JAVA字符串替换所有主题标签的内容

  18. 18

    Java:将输入与列表中的所有内容进行比较而不使用循环?

  19. 19

    Java表达式并使用eval删除DOT之后的所有内容

  20. 20

    Java令牌化:将下划线分隔的所有内容视为一个单词

  21. 21

    从大型CSV文件读取而不用Java将所有内容加载到内存的最佳方法

  22. 22

    Java:解析XML并将所有数据内容绑定到Map <K,V>

  23. 23

    Java正则表达式,除字母字符/字符串外的所有内容

  24. 24

    JAVA字符串替换所有主题标签的内容

  25. 25

    如何使用Java中的可序列化功能复制所有内容

  26. 26

    删除Java中除某些DOM元素以外的所有内容?

  27. 27

    Java中的所有内容是否都可以进行垃圾回收?

  28. 28

    如何使用哨兵/ raven-js记录所有内容

  29. 29

    如何使用哨兵/ raven-js记录所有内容

热门标签

归档