RCP开发系列-log4j日志使用
Posted teamcenter开发与实施
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RCP开发系列-log4j日志使用相关的知识,希望对你有一定的参考价值。
Teamcenter采用log4j日志系统。本章结合案例讲解在RCP开发过程中如何优雅的开发日志信息。忘掉 System.out.print吧…
配置文件
TC的日志配置文件位于%TC_ROOT%portalpluginsconfiguration_versionTcLogger.properties。
更改日志级别
全局
修改 log4j.rootLogger行为DEBUG
例如:
log4j.rootLogger=DEBUG,TcLoggerConsoleAppender,TcLoggerFileAppender, TcLogContext
包级别
如果想记录”结构管理器”应用程序的DEBUG信息:
log4j.logger.com.teamcenter.rac.pse=DEBUG, TcLoggerConsoleAppender, TcLoggerFileAppender
如果想记录本系列教程的DEBUG信息:
log4j.logger.vip.teamcenter=DEBUG, TcLoggerConsoleAppender, TcLoggerFileAppender
其中TcLoggerConsoleAppender表示输出日志到TC控制台, TcLoggerFileAppender表示输出日志到本地文件中。
类级别
如果想记录TCSession类的DEBUG信息
log4j.logger.com.teamcenter.rac.kernel.TCSession=DEBUG, TcLoggerConsoleAppender, TcLoggerFileAppender
示例
修改本系列教程的Handler,添加Logger
private static Logger logger = Logger.getLogger(SampleHandler.class);
logger.debug("Debug");
logger.warn("Warn");
logger.info("Info");
logger.error("Error");
完整的类代码如下:
package vip.teamcenter.helloworld.handlers;
import org.apache.log4j.Logger;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.jface.dialogs.MessageDialog;
/**
* Our sample handler extends AbstractHandler, an IHandler base class.
* @see org.eclipse.core.commands.IHandler
* @see org.eclipse.core.commands.AbstractHandler
*/
public class SampleHandler extends AbstractHandler {
private static Logger logger = Logger.getLogger(SampleHandler.class);
/**
* The constructor.
*/
public SampleHandler() {
}
/**
* the command has been executed, so extract extract the needed information
* from the application context.
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
logger.debug("Debug");
logger.warn("Warn");
logger.info("Info");
logger.error("Error");
MessageDialog.openInformation(
window.getShell(),
"Helloworld",
"Hello, Eclipse world");
return null;
}
}
日志文件位置
log4j.appender.TcLoggerFileAppender.file=${osgi.instance.area}/${user.name}_TcRAC_${timestamp}.log
系统默认是根据${osgi.instance.area}这个环境变量,决定日志文件的路径。可以在这里修改,指定到其他文件中。
通过Eclipse调试启动TC,可能位于 C:
untime-TC11
通过Teamcenter启动,可能位于C:UsersAdministratorTeamcenterRAC20181221135938。不同用户的位置可能有些差异。
另外,本配置中,也会输出到日志控制台。
以上是关于RCP开发系列-log4j日志使用的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot系列一:默认日志logback配置解析