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 + -
显示快捷键?