惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
C
Check Point Blog
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
Vercel News
Vercel News
腾讯CDC
GbyAI
GbyAI
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件

博客园 - Phinecos(洞庭散人)

火车票秒杀攻略 go-home源码分析----一款针对12306的火车票订票软件 一个简单的MongoDB操作类 Solr Cache使用介绍及分析 每日学习笔记(26) 每日学习笔记(25) 每日学习笔记(24) 深入剖析SolrCloud(四) 深入剖析SolrCloud(三) 深入剖析SolrCloud(二) 深入剖析SolrCloud(一) 技术宅---我的网上抢火车票攻略(终极秒杀版) 技术宅---我的网上抢火车票攻略 一次针对批量查询处理的优化 每日学习笔记(23) 一次内存泄露问题的排查 每日学习笔记(22) 每日学习笔记(20) 每日学习笔记(19)
每日学习笔记(21)
Phinecos(洞庭散人) · 2011-10-12 · via 博客园 - Phinecos(洞庭散人)

1,今天收到报警信息,说应用所在机器的硬盘空间不足了,上去一看,居然发现国庆这几天的日志信息累计达到了260G,可看了下应用下的日志,实际只有几十M而已,进一步check后发现是调用的第三方应用在另一个日志路径下打出大量的Debug信息,回查代码后才明白是LogbackLog4J的冲突问题,于是写了一个类在应用启动时将Log4J的级别调高至ERROR级别,代码如下:

    privatestatic String logFilePath;
    private final static String DEFAULT_LOG4J_FILE_NAME = "log4j.xml";
    private org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(getClass());

    private void configureLog4j() throws javax.xml.parsers.FactoryConfigurationError {
        
        System.setProperty( "org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog" );
        Properties p = new Properties();
        p.put("log4j.logger.httpclient.wire", Level.ERROR);
        p.put("log4j.logger.org.apache.commons.httpclient", Level.ERROR);
        
        Logger root = Logger.getRootLogger();
        boolean rootIsConfigured = root.getAllAppenders().
        hasMoreElements();
        if(root != null) {
            root.setLevel(Level.ERROR);
        }
        
        log.error("turn off log4j");
    }

    public static String getLogFilePath() {
        return logFilePath;
    }

    public static void setLogFilePath(String logFilePath) {
        Log4jInit.logFilePath = logFilePath;
    }
}