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");
}
}
}
分享到:
相关推荐
flex 弹性布局,最后一行数量不足一行 列表项目左对齐的解决办法,经过实际测试,亲自有效,一行的数量可以随意设置。非常有用!
本文将针对这一问题,详细介绍解决方法。 首先,我们需要了解远程桌面的基本工作原理。mstsc(Microsoft Terminal Services Client)基于RDP(Remote Desktop Protocol)协议,该协议提供了图形界面的远程会话。当...
麦肯锡问题分析与问题解决方法是一种系统化的方法论,旨在帮助企业和个人解决复杂的问题。该方法论基于麦肯锡公司的经验和实践,提供了一种结构化的方法来分析和解决问题。 问题分析 问题分析是麦肯锡方法的核心...
射频调试方法与常见问题解决办法 本课件涵盖了射频调试方法和常见问题解决办法两大部分。第一部分介绍了射频调试方法,包括粗略调试方法和细致调试方法。粗略调试方法包括目测法、手触摸法、铅笔或镊子一个一个拆掉...
- **解决办法**:使用专业的喷嘴清理工具和方法进行清理;定期检查喷嘴状态并进行维护保养。 #### 3. 打印的耗材没法粘到平台上 - **3.1 构建平台不水平** - **原因分析**:若平台不平,可能会导致打印件与平台...
### 毕业设计中存在的问题及解决办法 #### 一、引言 随着互联网技术的飞速发展,网站已经从最初的信息展示平台逐渐演变为集信息交流、互动娱乐等多种功能于一体的综合服务平台。对于毕业设计中的个人网站项目而言...
这是一个非常简单的解决方法。下载 MSWGA.EXE 文件(中文名称:微软正版认证离线包),双击运行即可。系统可能会问你“现在安装的版本低,是否替换”,选择是就行了。 方法五:修复系统 如果以上方法都无法解决...
Oracle 常见故障解决方法 Oracle 是一种关系型数据库管理系统,广泛应用于各种行业和领域。然而,在使用 Oracle 过程中,经常会遇到各种故障和问题,影响系统的稳定性和性能。下面总结了一些常见的 Oracle 故障...
当出现Demo水印和坐标刻度消失的问题时,可以尝试以下几种解决方法: 1. **重启软件**:这是最简单的解决方案,有时软件在长时间运行后可能出现临时性错误,关闭并重新启动Origin 9.0可能就能恢复。 2. **检查软件...
资源为使用强化学习提出了一个端到端的框架来解决车辆路径问题(VRP)。在这种方法中,通过观察奖励信号和遵循可行性规则,训练单个模型,为从给定分布中采样的问题实例找到近似最优解。模型表示一个参数化的随机...
最后,如果以上方法都无法解决问题,可能需要查阅VirtualBox和Genymotion的官方文档,或者在相关的用户论坛寻求帮助,那里可能有更具体和针对性的解决方案。记住,良好的问题记录和描述将有助于他人更有效地为你提供...
标题中的“360修复flash漏洞而导致看不了在线视频解决方法”揭示了一个常见的技术问题,即用户在使用360安全软件更新Flash插件后,可能会遇到无法观看在线视频的问题。这个问题通常涉及到浏览器与Adobe Flash Player...
这是因为setTimeout方法是一个异步方法,它不能在非用户交互事件中触发焦点事件。只有当用户进行手动操作时,焦点事件才能被触发。 解决iOS下无法触发focus事件的问题需要开发者深入了解iOS平台的安全机制和focus...
LoadRunner 常见问题解决...解决方法:把"LR80WebservicesFPI_setup.exe"和"lrunner_web_sevices_path_1.exe"两个补丁打上即可解决。 这些常见问题的解决办法可以帮助用户更好地使用 LoadRunner,提高测试效率和质量。
ACPI:System State [S0 S3 S4 S5] (S3) 错误是 MAC 操作系统中的一种常见错误,解决方法是换内核 kernel 试试看。常见于 Asus 主板的 G31、G41 集显无解错误,须外插一块独显后,才可进行安装。 五、 still waiting...
### MSN安装不了的解决方法之一 在遇到MSN无法正常安装的问题时,用户往往会感到非常困扰。本篇文章将详细介绍一种有效的解决方法,并深入探讨其中涉及的技术细节,帮助用户更好地理解和解决问题。 #### 问题概述 ...
本文将深入探讨无驱摄像头黑屏问题的可能原因,并提供有效的解决方法。 首先,我们需要理解摄像头黑屏可能是由多种因素导致的: 1. **硬件问题**:摄像头本身可能存在故障,如传感器损坏、连接线松动或电源供应...
"WORD文档此文件正由另一应用程序或用户使用的解决办法" 在 Microsoft Office Word 中,用户可能会遇到一个问题,即当打开多个 Word 文档时,关闭其中一个文档时,系统会弹出对话框,提示“此文件正由另一应用程序...
总的来说,利用遗传算法解决一维装箱问题是一种有效的方法,因为它能够处理非线性和组合优化问题,而MATLAB则提供了方便的工具和环境来实现这一过程。通过对算法的参数调整和优化,可以得到更高效、更接近实际应用的...
标题“解决设备有感叹号”通常指的是在操作系统中,设备图标前出现的黄色或红色感叹号,这代表设备驱动程序存在问题或者设备未被正确识别。这种情况可能是由于驱动程序丢失、损坏,或者是系统与硬件之间的兼容性问题...