Log4jHookProxy.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:uavstack 作者:
@SuppressWarnings("unchecked")
private void figureoutLogConfiguration(Logger Logger, LinkedList<LogProfileInfo> list, String appid) {

    Enumeration<Appender> appenders = Logger.getAllAppenders();

    while (appenders != null && appenders.hasMoreElements()) {

        LogProfileInfo logProfileInfo = new LogProfileInfo();

        if (appid != null) {
            logProfileInfo.setAppId(appid);
        }

        logProfileInfo.setLogType(LogProfileInfo.LogType.Log4j);

        Map<String, String> attributes = new HashMap<String, String>();

        attributes.put(LogProfileInfo.ENGINE, "log4j");

        Appender appender = appenders.nextElement();

        if (!(appender instanceof FileAppender)) {
            continue;
        }

        FileAppender fileAppender = (FileAppender) appender;

        Layout layout = fileAppender.getLayout();

        if (null != layout) {

            if (layout instanceof PatternLayout) {
                PatternLayout patternLayout = (PatternLayout) fileAppender.getLayout();
                attributes.put(LogProfileInfo.PATTERN, patternLayout.getConversionPattern());
            }
            else if (layout instanceof HTMLLayout) {
                attributes.put(LogProfileInfo.PATTERN, "HTMLLayout");
            }
            else if (layout instanceof SimpleLayout) {
                attributes.put(LogProfileInfo.PATTERN, "SimpleLayout");
            }
            else if (layout instanceof TTCCLayout) {
                attributes.put(LogProfileInfo.PATTERN, "TTCCLayout");
            }
        }

        boolean useBuffIO = fileAppender.getBufferedIO();

        if (useBuffIO == true) {
            attributes.put(LogProfileInfo.BUFFER_SIZE, String.valueOf(fileAppender.getBufferSize()));
            attributes.put(LogProfileInfo.BUFFRT_IO, String.valueOf(useBuffIO));
        }

        logProfileInfo.setFilePath(fileAppender.getFile());
        logProfileInfo.setAttributes(attributes);

        list.add(logProfileInfo);

    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号