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

RCP开发系列-log4j日志使用

其中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

RCP开发系列-log4j日志使用

通过Teamcenter启动,可能位于C:UsersAdministratorTeamcenterRAC20181221135938。不同用户的位置可能有些差异。

另外,本配置中,也会输出到日志控制台。


以上是关于RCP开发系列-log4j日志使用的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 之 log4js 完全讲解

Spring Boot系列一:默认日志logback配置解析

Java 标准日志工具 Log4j 的使用(附源代码)

Log4j介绍及使用

大数据调错系列之hadoop在开发工具控制台上打印不出日志的解决方法

大数据调错系列之hadoop在开发工具控制台上打印不出日志的解决方法