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");
}
}
}
分享到:
相关推荐
本文将针对这一问题,详细介绍解决方法。 首先,我们需要了解远程桌面的基本工作原理。mstsc(Microsoft Terminal Services Client)基于RDP(Remote Desktop Protocol)协议,该协议提供了图形界面的远程会话。当...
麦肯锡问题分析与问题解决方法是一种系统化的方法论,旨在帮助企业和个人解决复杂的问题。该方法论基于麦肯锡公司的经验和实践,提供了一种结构化的方法来分析和解决问题。 问题分析 问题分析是麦肯锡方法的核心...
射频调试方法与常见问题解决办法 本课件涵盖了射频调试方法和常见问题解决办法两大部分。第一部分介绍了射频调试方法,包括粗略调试方法和细致调试方法。粗略调试方法包括目测法、手触摸法、铅笔或镊子一个一个拆掉...
- **解决办法**:使用专业的喷嘴清理工具和方法进行清理;定期检查喷嘴状态并进行维护保养。 #### 3. 打印的耗材没法粘到平台上 - **3.1 构建平台不水平** - **原因分析**:若平台不平,可能会导致打印件与平台...
这是一个非常简单的解决方法。下载 MSWGA.EXE 文件(中文名称:微软正版认证离线包),双击运行即可。系统可能会问你“现在安装的版本低,是否替换”,选择是就行了。 方法五:修复系统 如果以上方法都无法解决...
当出现Demo水印和坐标刻度消失的问题时,可以尝试以下几种解决方法: 1. **重启软件**:这是最简单的解决方案,有时软件在长时间运行后可能出现临时性错误,关闭并重新启动Origin 9.0可能就能恢复。 2. **检查软件...
资源为使用强化学习提出了一个端到端的框架来解决车辆路径问题(VRP)。在这种方法中,通过观察奖励信号和遵循可行性规则,训练单个模型,为从给定分布中采样的问题实例找到近似最优解。模型表示一个参数化的随机...
最后,如果以上方法都无法解决问题,可能需要查阅VirtualBox和Genymotion的官方文档,或者在相关的用户论坛寻求帮助,那里可能有更具体和针对性的解决方案。记住,良好的问题记录和描述将有助于他人更有效地为你提供...
标题中的“360修复flash漏洞而导致看不了在线视频解决方法”揭示了一个常见的技术问题,即用户在使用360安全软件更新Flash插件后,可能会遇到无法观看在线视频的问题。这个问题通常涉及到浏览器与Adobe Flash Player...
这是因为setTimeout方法是一个异步方法,它不能在非用户交互事件中触发焦点事件。只有当用户进行手动操作时,焦点事件才能被触发。 解决iOS下无法触发focus事件的问题需要开发者深入了解iOS平台的安全机制和focus...
Java 开发中常见的问题之一,解决这个问题需要了解 Java 的编码方式、JSP 中文乱码问题、Tomcat 5.5 中文乱码问题、JDBC ODBC Bridge 的 Bug 及其解决方法、Solaris 下 Servlet 编程的中文问题及解决办法等。...
备用解决办法:window环境下 环 npm install node-sass报错的解决方法.pdf`,通常这类错误可能是由于网络问题、权限问题或者依赖冲突导致的。 - **网络问题**:可以尝试更换npm源,例如切换到淘宝npm镜像(`npm ...
### MSN安装不了的解决方法之一 在遇到MSN无法正常安装的问题时,用户往往会感到非常困扰。本篇文章将详细介绍一种有效的解决方法,并深入探讨其中涉及的技术细节,帮助用户更好地理解和解决问题。 #### 问题概述 ...
总的来说,利用遗传算法解决一维装箱问题是一种有效的方法,因为它能够处理非线性和组合优化问题,而MATLAB则提供了方便的工具和环境来实现这一过程。通过对算法的参数调整和优化,可以得到更高效、更接近实际应用的...
标题“解决设备有感叹号”通常指的是在操作系统中,设备图标前出现的黄色或红色感叹号,这代表设备驱动程序存在问题或者设备未被正确识别。这种情况可能是由于驱动程序丢失、损坏,或者是系统与硬件之间的兼容性问题...
1. 无法正常开机问题及解决方法 当电脑无法正常开机时,首先尝试更换内存条的位置,通常建议将低速的老内存条放在前部的插槽。如果问题依旧,可尝试进入BIOS设置,将内存设置调整为兼容性较好的低速内存规格。此外,...
教程地址:http://blog.csdn.net/oushangfeng123/article/details/48040525 ToolBar、TabLayout加角标无从下手?且看一看我的解决方法!
JSP 中文显示问号问题解决方法 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,广泛应用于Web开发中。但是,在JSP中输出中文时,经常会出现问号问题,即中文字符被显示为问号。今天,我们将探讨...
本文将针对"IAR无法仿真调试解决办法"这一主题,详细阐述问题背景、问题症结及解决方案。 一、问题背景 在开发基于CC系列微控制器的项目时,开发人员通常会使用IAR Embedded Workbench作为编程和调试工具。IAR支持...
ACPI:System State [S0 S3 S4 S5] (S3) 错误是 MAC 操作系统中的一种常见错误,解决方法是换内核 kernel 试试看。常见于 Asus 主板的 G31、G41 集显无解错误,须外插一块独显后,才可进行安装。 五、 still waiting...