i18nlog.java
来自「weblogic应用全实例」· Java 代码 · 共 89 行
JAVA
89 行
//声明这个类在包examples.i18n.logging中
package examples.i18n.logging;
//声明这个类引入的类
import java.util.Locale;
import weblogic.i18n.Localizer;
import weblogic.i18ntools.L10nLookup;
/**
* 这个实例演示怎样使用国际化的(I18n)日志接口。
*
* 用法:java examples.i18n.logging.I18nLog
*
*/
public class I18nLog {
public I18nLog() {}
public static void main(String[] argv) {
/**
* 这个方法记录一个消息。
*/
I18nLogLogger.logEntry();
/**
* 这是一个消息实例,包含几个参数。
*/
I18nLogLogger.testArgs(I18nLog.class.getName(),argv.length);
/**
* 传递Throwable对象。
*/
Throwable t = new Throwable("Test with stack trace");
I18nLogLogger.logTrace(t);
/**
* 也可以定义没有stack trace。
*/
I18nLogLogger.logNoTrace(t);
/**
* logger方法返回应用的消息Id,
*/
String messageId = I18nLogLogger.getId();
I18nLogLogger.showId(messageId);
/**
* message id能用来获取消息的属性。L10nLookup对象通过本地化类访问目录。
* 本地化类提供访问每个消息的方法。每个日志消息目录有两个本地化类:一个产生
* 消息信息,一个产生详细的属性信息。
* 基本的本地类提供目录信息的访问:
* Version - 版本
* L10n Package - 目录数据包
* I18n Package - 日志信息包
* Subsystem - 目录子系统
* 为每个消息提供:
* Severity: debug (128), info (64), warning (32), error (8)
* Message Body - 消息文本
* Stack option - 是否记录堆栈跟踪。
*
* 首先获取L10nLookup属性,使用用它们得到消息的本地化对象。
*/
L10nLookup l10n = L10nLookup.getL10n();
/**
* 返回基本的本地化对象 (arg 3 = false)
*/
Localizer lcl = l10n.getLocalizer(messageId,Locale.getDefault(),false);
/**
* 返回详细的本地化对象 (arg 3 = true)
*/
Localizer lclDetail = l10n.getLocalizer(messageId,Locale.getDefault(),true);
/**
* 显示日志消息目录信息
*/
I18nSimpleTextFormatter fmt = new I18nSimpleTextFormatter();
System.out.println(fmt.version(messageId,lcl.getVersion()));
System.out.println(fmt.l10nPackage(messageId,lcl.getL10nPackage()));
System.out.println(fmt.i18nPackage(messageId,lcl.getI18nPackage()));
System.out.println(fmt.subsystem(messageId,lcl.getSubSystem()));
System.out.println(fmt.severity(messageId,lcl.getSeverity(messageId)));
System.out.println(fmt.body(messageId,lcl.getBody(messageId)));
System.out.println(fmt.stack(messageId,lcl.getStackTrace(messageId)));
/**
* 显示详细信息
*/
System.out.println(fmt.detail(messageId,lclDetail.getDetail(messageId)));
System.out.println(fmt.cause(messageId,lclDetail.getCause(messageId)));
System.out.println(fmt.action(messageId,lclDetail.getAction(messageId)));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?