`
junge8618
  • 浏览: 121975 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
社区版块
存档分类
最新评论

看一看有什么解决方法

阅读更多
    private final static String MATCH_LEVEL = "ERROR|error|INFO|info|DEBUG|debug|WARN|warn|FATAL|fatal";

    private static Logger logger = Logger.getLogger("com.huawei.mediax");
 
    public Integer32 getHwLogLevel() throws SnmpException
    {
        Level Level = logger.getLevel();
        if (Level.isGreaterOrEqual(Priority.DEBUG))
        {
            this.hwLogLevel = new Integer32(1);
        }
        if (Level.isGreaterOrEqual(Priority.INFO))
        {
            this.hwLogLevel = new Integer32(2);
        }
        if (Level.isGreaterOrEqual(Priority.WARN))
        {
            this.hwLogLevel = new Integer32(3);
        }
        if (Level.isGreaterOrEqual(Priority.ERROR))
        {
            this.hwLogLevel = new Integer32(4);
        }
        if (Level.isGreaterOrEqual(Priority.FATAL))
        {
            this.hwLogLevel = new Integer32(5);
        }
        return hwLogLevel;
    }
    
 
    public void modifyLogfile(final Integer32 newValue)
    {
        
        //读取配置并组装日志文件log4j.xml的文件路径
        String filePath = "";
        //mdxdb模块存放log4j.xml文件目录与其他目录不一致
        if (ConfigKit.getMoudleType().equals(MDXDBTYPE))
        {
            filePath = System.getenv("SNMP_HOME") + File.separatorChar + "conf"
                    + File.separatorChar + "log4j.xml";
        }
        else
        {
            filePath = System.getenv("SNMP_HOME") + File.separatorChar + "conf"
                    + File.separatorChar + "server" + File.separatorChar
                    + "log4j.xml";
            
        }
        
        if (logger.isDebugEnabled())
        {
            logger.debug("The log4j.xml file path is <" + filePath + ">");
        }
        
        StringBuilder builder = new StringBuilder();
        try
        {
            //读写文件
            File logfile = new File(filePath);
            BufferedReader reader = new BufferedReader(new FileReader(logfile));
            
            if (reader.ready())
            {
                String tmp = null;
                while (null != (tmp = reader.readLine()))
                {
                    builder.append(tmp).append("\r\n");
                    if (-1 != tmp.indexOf("com.huawei.mediax"))
                    {
                        
                        String loglevel = reader.readLine();
                        //把匹配MATCH_LEVEL中的字符串,修改为传入的字符串
                        builder.append(
                                loglevel.replaceAll(MATCH_LEVEL,
                                        getLogLevelStr(newValue.getValue())))
                                .append("\r\n");
                    }
                    
                }
                BufferedWriter write = new BufferedWriter(new FileWriter(
                        logfile));
                write.write(builder.toString());
                write.close();
                reader.close();
                
                if (logger.isDebugEnabled())
                {
                    logger.debug("Changed the content :\r\n" + builder);
                }
                
            }
            else
            {
                logger.error("reader is not ready");
            }
            
        }
        catch (FileNotFoundException e)
        {
            logger.error("Reade log4j file error", e);
        }
        catch (IOException e)
        {
            logger.error("Writer log4j file error", e);
        }
    }
    public void setHwLogLevel(final Integer32 newValue) throws SnmpException
    {
        this.hwLogLevel = newValue;
        logger.setLevel(getLogLevel(newValue.getValue()));
        if (logger.isDebugEnabled())
        {
            logger.debug("set Log Level =" + getLogLevel(newValue.getValue()));
        }
        //修改日志文件
        modifyLogfile(newValue);
        
        if (logger.isDebugEnabled())
        {
            logger.debug("set Log Level success");
        }
    }
}
分享到:
评论

相关推荐

    windows远程桌面(mstsc)看不到进程和对方的实际桌面的解决办法.zip_remoter远程桌面客户端

    本文将针对这一问题,详细介绍解决方法。 首先,我们需要了解远程桌面的基本工作原理。mstsc(Microsoft Terminal Services Client)基于RDP(Remote Desktop Protocol)协议,该协议提供了图形界面的远程会话。当...

    麦肯锡问题分析与问题解决方法

    麦肯锡问题分析与问题解决方法是一种系统化的方法论,旨在帮助企业和个人解决复杂的问题。该方法论基于麦肯锡公司的经验和实践,提供了一种结构化的方法来分析和解决问题。 问题分析 问题分析是麦肯锡方法的核心...

    射频调试方法与常见问题解决办法PPT课件.pptx

    射频调试方法与常见问题解决办法 本课件涵盖了射频调试方法和常见问题解决办法两大部分。第一部分介绍了射频调试方法,包括粗略调试方法和细致调试方法。粗略调试方法包括目测法、手触摸法、铅笔或镊子一个一个拆掉...

    3D打印质量问题解决指南(23个常见问题解决办法)

    - **解决办法**:使用专业的喷嘴清理工具和方法进行清理;定期检查喷嘴状态并进行维护保养。 #### 3. 打印的耗材没法粘到平台上 - **3.1 构建平台不水平** - **原因分析**:若平台不平,可能会导致打印件与平台...

    一个问题阻止WINDOWS正确检查此机器的许可证的解决办法

    这是一个非常简单的解决方法。下载 MSWGA.EXE 文件(中文名称:微软正版认证离线包),双击运行即可。系统可能会问你“现在安装的版本低,是否替换”,选择是就行了。 方法五:修复系统 如果以上方法都无法解决...

    Origin 9.0使用一段时间后Demo水印及坐标刻度消失的解决方法

    当出现Demo水印和坐标刻度消失的问题时,可以尝试以下几种解决方法: 1. **重启软件**:这是最简单的解决方案,有时软件在长时间运行后可能出现临时性错误,关闭并重新启动Origin 9.0可能就能恢复。 2. **检查软件...

    强化学习(一个端到端的框架)解决车辆路径问题

    资源为使用强化学习提出了一个端到端的框架来解决车辆路径问题(VRP)。在这种方法中,通过观察奖励信号和遵循可行性规则,训练单个模型,为从给定分布中采样的问题实例找到近似最优解。模型表示一个参数化的随机...

    解决virtualbox不能为虚拟电脑打开一个新任务。

    最后,如果以上方法都无法解决问题,可能需要查阅VirtualBox和Genymotion的官方文档,或者在相关的用户论坛寻求帮助,那里可能有更具体和针对性的解决方案。记住,良好的问题记录和描述将有助于他人更有效地为你提供...

    360修复flash漏洞而导致看不了在线视频解决方法

    标题中的“360修复flash漏洞而导致看不了在线视频解决方法”揭示了一个常见的技术问题,即用户在使用360安全软件更新Flash插件后,可能会遇到无法观看在线视频的问题。这个问题通常涉及到浏览器与Adobe Flash Player...

    解决iOS下无法触发focus事件的问题

    这是因为setTimeout方法是一个异步方法,它不能在非用户交互事件中触发焦点事件。只有当用户进行手动操作时,焦点事件才能被触发。 解决iOS下无法触发focus事件的问题需要开发者深入了解iOS平台的安全机制和focus...

    java乱码问题解决方法

    Java 开发中常见的问题之一,解决这个问题需要了解 Java 的编码方式、JSP 中文乱码问题、Tomcat 5.5 中文乱码问题、JDBC ODBC Bridge 的 Bug 及其解决方法、Solaris 下 Servlet 编程的中文问题及解决办法等。...

    node.js 安装解决办法:sass-loader node-sass WIN10 WIN7安装与常见问题解决办法.zip

    备用解决办法:window环境下 环 npm install node-sass报错的解决方法.pdf`,通常这类错误可能是由于网络问题、权限问题或者依赖冲突导致的。 - **网络问题**:可以尝试更换npm源,例如切换到淘宝npm镜像(`npm ...

    MSN安装不了的解决方法之一

    ### MSN安装不了的解决方法之一 在遇到MSN无法正常安装的问题时,用户往往会感到非常困扰。本篇文章将详细介绍一种有效的解决方法,并深入探讨其中涉及的技术细节,帮助用户更好地理解和解决问题。 #### 问题概述 ...

    一维装箱问题的解决

    总的来说,利用遗传算法解决一维装箱问题是一种有效的方法,因为它能够处理非线性和组合优化问题,而MATLAB则提供了方便的工具和环境来实现这一过程。通过对算法的参数调整和优化,可以得到更高效、更接近实际应用的...

    解决设备有感叹号

    标题“解决设备有感叹号”通常指的是在操作系统中,设备图标前出现的黄色或红色感叹号,这代表设备驱动程序存在问题或者设备未被正确识别。这种情况可能是由于驱动程序丢失、损坏,或者是系统与硬件之间的兼容性问题...

    电脑内存九大常见的问题和解决办法

    1. 无法正常开机问题及解决方法 当电脑无法正常开机时,首先尝试更换内存条的位置,通常建议将低速的老内存条放在前部的插槽。如果问题依旧,可尝试进入BIOS设置,将内存设置调整为兼容性较好的低速内存规格。此外,...

    ToolBar、TabLayout加角标无从下手?且看一看我的解决方法!

    教程地址:http://blog.csdn.net/oushangfeng123/article/details/48040525 ToolBar、TabLayout加角标无从下手?且看一看我的解决方法!

    jsp中文显示问号问题解决方法.docx

    JSP 中文显示问号问题解决方法 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,广泛应用于Web开发中。但是,在JSP中输出中文时,经常会出现问号问题,即中文字符被显示为问号。今天,我们将探讨...

    IAR无法仿真调试解决办法

    本文将针对"IAR无法仿真调试解决办法"这一主题,详细阐述问题背景、问题症结及解决方案。 一、问题背景 在开发基于CC系列微控制器的项目时,开发人员通常会使用IAR Embedded Workbench作为编程和调试工具。IAR支持...

    MAC常见五国报错代码表以及解决方案.

    ACPI:System State [S0 S3 S4 S5] (S3) 错误是 MAC 操作系统中的一种常见错误,解决方法是换内核 kernel 试试看。常见于 Asus 主板的 G31、G41 集显无解错误,须外插一块独显后,才可进行安装。 五、 still waiting...

Global site tag (gtag.js) - Google Analytics