linux查看 idt日志,实现RCP的日志管理
做插件开发的都知道当应用跑不起来了就去看看workspace里的.log文件,错误信息很详细,那样解决问题就方便多了,这个功能很好,所以学习了下,和大家分享下,实现的原理也就一行代码
Java代码
Platform.getLog(Platform.getBundle(bundleID)).log(
newStatus(serverity, bundleID, code, message, t));
Platform.getLog(Platform.getBundle(bundleID)).log(
new Status(serverity, bundleID, code, message, t));
原理知道了,那么怎么样得到像eclipse生成.log里的那些效果呢?
runtime包下有个Status类它继承IStatus,大家可以去看看它的源码,我说到它的原因就是因为它包含了eclipse的warning,error以及info,这三类log都是最常用的,下面我也不啰嗦了,贴代码
Java代码
packagecom.bjgtt.msap.workbench.utilities;
importorg.eclipse.core.runtime.Platform;
importorg.eclipse.core.runtime.Status;
publicclassLogUtil {
publicstaticvoidlogError(Throwable t) {
logError(null, t.getMessage(), t);
}
publicstaticvoidlogError(String bundleID, Throwable t) {
logError(bundleID, t.getMessage(), t);
}
publicstaticvoidlogError(String bundleID, String message, Throwable t) {
log(bundleID, message, t, Status.ERROR, Status.OK);
}
publicstaticvoidlogWarning(String message) {
log(null, message,null, Status.WARNING, Status.OK);
}
publicstaticvoidlogError(String bundleID, String message) {
logError(bundleID, message,null);
}
publicstaticvoidlog(String bundleID, String message, Throwable t,intserverity,intcode) {
if(bundleID ==null) {
bundleID = Activator.getDefault().getBundle().getSymbolicName();
}
Platform.getLog(Platform.getBundle(bundleID)).log(newStatus(serverity, bundleID, code, message, t));
}
}
package com.bjgtt.msap.workbench.utilities;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
public class LogUtil {
public static void logError(Throwable t) {
logError(null, t.getMessage(), t);
}
public static void logError(String bundleID, Throwable t) {
logError(bundleID, t.getMessage(), t);
}
public static void logError(String bundleID, String message, Throwable t) {
log(bundleID, message, t, Status.ERROR, Status.OK);
}
public static void logWarning(String message) {
log(null, message, null, Status.WARNING, Status.OK);
}
public static void logError(String bundleID, String message) {
logError(bundleID, message, null);
}
public static void log(String bundleID, String message, Throwable t, int serverity, int code) {
if (bundleID == null) {
bundleID = Activator.getDefault().getBundle().getSymbolicName();
}
Platform.getLog(Platform.getBundle(bundleID)).log(new Status(serverity, bundleID, code, message, t));
}
}
大家看到了上面的类中有六个方法,归根到底都是调的最下面的方法,所以代码就变得简单多了,为大家介绍这些方法的使用吧:
首先就是logError(Throwable t)方法:
Error很显然就是捕获的异常信息了
logError(String bundleID, Throwable t) 有上面的方法了,这个方面就用不着了
接着就是logError(String bundleID, String message, Throwable t)
方法了
用了组装错误消息
logWarning(String message) :
看名字大家就知道是告警日志了,最常用的地方就是你需要得到一个对象的实例,而这个实例为null那么你就可以使用这个方法来记录日志了
logError(String bundleID, String message) :
插件错误信息,bundleID就是你的插件ID
linux查看 idt日志,实现RCP的日志管理相关推荐
- linux查看ihs进程和端口,IHS日志查看
随意的tail一个access_log文件,下面是一条经典的访问记录 192.168.1.100 实用的日志分析脚本 了解日志的各种定义后,这里分享一下从网上淘来的一些对日志分析的脚本 1.查看apa ...
- linux查看vnc服务加密修复,VNC远程管理Linux服务器安全指导
在开源领域,远程遥控技术的代表就是VNC了.VNC(Virtual Network Computer,虚拟网络计算机)是一套由AT&T实验室开发的可操控远程计算机的软件.根据主控端与被控端的不 ...
- linux查看告警日志,linux怎么查看硬件告警
想知道怎么查看Linux中的硬件告警吗?下面是学习啦小编带来的关于linux怎么查看硬件告警的内容,欢迎阅读! Linux查看硬件告警方法一: Linux系统拥有非常灵活和强大的日志功能,可以保存几乎 ...
- linux查看日志的几种命令,Linux查看日志三种命令(转载)
第一种:查看实时变化的日志(比较吃内存) 最常用的: tail -f filename (默认最后10行,相当于增加参数 -n 10) Ctrl+c 是退出tail命令 其他情况: tail -n 2 ...
- 如何linux查看mysql目录下日志_测试人员如何在linux服务器中查询mysql日志?
测试工程师在测试软件的过程中,流程往往是先接口测试,接着就是功能性测试.在做功能性测试的时候,往往有这么一个工作场景,就是出现错误后,我们怎么快速排除数据库报错. 举例某个电商网站,当我们文本框中输入 ...
- 【实施工程师】Linux查看日志后100行
[实施工程师]Linux查看日志后100行 tail -f 实时查看日志文件tail -f 日志文件log tail - 100f 实时查看日志文件 后一百行tail -f -n 100 catali ...
- linux查看上次重启日志和ip,Linux實時查看日志,訪問前10IP 和相關命令
本文介紹Linux下tail命令的使用方法. linux tail命令用途是依照要求將指定的文件的最后部分輸出到標准設備,通常是終端,通俗講來,就是把某個檔案文件的最后幾行顯示到終端上,假設該檔案有更 ...
- linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...
- java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...
[Java教程][Linux]linux查看日志文件内容命令tail.cat.tac.head.echo 0 2017-11-14 12:00:29 linux查看日志文件内容命令tail.cat.t ...
最新文章
- app.config自定义配置节点
- CMU最新《深度学习》2022春季课程,Ruslan Salakhutdinov教授主讲
- mysql游标进阶_mysql进阶(三)游标简易教程
- 20170908校内训练
- Windows半透明窗口开发技巧
- 动态换ip如何实现_三种方法解决动态换IP需求
- go语言渐入佳境[6]-operator运算符
- java-构建jar带哟参数提示的
- 优化算法笔记|萤火虫算法理解及实现
- c语言中文网_在C语言中使用中文字符
- 2T比特每秒!瞻博推出业界最快防火墙
- 杨辉三角形Java实现
- 数独c语言程序设计说明,c语言数独字谜游戏课程设计
- 【Springboot整合ShardingSphere(ShardingJDBC)】扫盲文(并非代码实战)
- java中if条件函数怎么用_if函数,多个条件怎么使用
- [AV1] Segment
- NEON intrinsics 函数模式介绍
- idea自动排版html,idea怎么格式化代码?
- 苹果手机iframe撑大父页解决办法
- 数据库原理及应用期末复习小结
热门文章
- 关于pragma pack的用法(一)
- 抓屏的各种方法(http://www.codeproject.com/KB/dialog/screencap.aspx)
- 全景图像拼接——基本流程
- ASCII码与string的相互转换
- 【数据库学习】——数据库可视化--Navicat下载安装连接教程
- centos 安装boost(caffe需要)
- C++11系列学习之二-----lambda表达式
- Pytorch 自定义激活函数前向与反向传播 sigmoid
- epub 机器人系列 阿西莫夫_艾萨克·阿西莫夫是不是穿越来的,他怎么能那么准地预言机器人,互联网技术呢?...
- MySql Workbench 安全模式(safe mode)