什么是log4J';s相当于java.util.logging.Handler

什么是log4J';s相当于java.util.logging.Handler,log4j,java.util.logging,Log4j,Java.util.logging,我喜欢截取一些(最重要的)日志消息,并将它们显示在GUI中,或者检查是否记录了任何错误。通常我使用java.util.logging,这里使用java.util.logging.Handler和java.util.logging.Formatter 然而,当前的项目使用Log4J(2.x),每个特性都有不同的名称,看起来至少是复杂度的四倍 有人能给我一些关于如何使用Log4J归档类似内容的提示吗: /** * <p> * logs error so they c

我喜欢截取一些(最重要的)日志消息,并将它们显示在GUI中,或者检查是否记录了任何错误。通常我使用
java.util.logging
,这里使用
java.util.logging.Handler
java.util.logging.Formatter

然而,当前的项目使用Log4J(2.x),每个特性都有不同的名称,看起来至少是复杂度的四倍

有人能给我一些关于如何使用Log4J归档类似内容的提示吗:

   /**
    * <p>
    * logs error so they can be returned to the server (and tested in unit tests)
    * </p>
    * 
    * @author "Martin Krischik" <martin.krischik@noser.com>
    * @version 1.0 $Revision: 2229 $
    * @see java.util.logging.Handler
    * @since 1.0
    */
   @SuppressWarnings ("synthetic-access")
   protected final class LogHandler
      extends
         java.util.logging.Handler
   {

      /**
       * <p>
       * A very simple formatter which displays only what is relevant to end users. Developer
       * should look at the log file
       * </p>
       * 
       * @author "Martin Krischik" <martin.krischik@noser.com>
       * @version 1.0 $Revision: 2229 $
       * @see java.util.logging.Formatter
       * @since 1.0
       */
      private class LogFormatter
         extends
            java.util.logging.Formatter
      {

         /**
          * <p>
          * line separator
          * </p>
          */
         private final String lineSeparator = System.getProperty ("line.separator");

         /**
          * <p>
          * Format the given LogRecord.
          * </p>
          * 
          * @param record
          *           the log record to be formatted.
          * @return a formatted log record
          * @see java.util.logging.Formatter#format(java.util.logging.LogRecord)
          */
         @Override
         public synchronized String format (final java.util.logging.LogRecord record)
         {
            final StringBuilder retval = new StringBuilder (4096);
            final String message = this.formatMessage (record);
            final java.util.logging.Level level = record.getLevel ();

            retval.append (level.getLocalizedName ());
            retval.append (": ");
            retval.append (message);
            retval.append (this.lineSeparator);

            return retval.toString ();
         } // format
      } // LogFormatter

      /**
       * <p>
       * A very simple formatter which displays only what is relevant to end users. Developer
       * should look at the log file
       * </p>
       */
      private final DBUpdate.LogHandler.LogFormatter formatter =
         new DBUpdate.LogHandler.LogFormatter ();

      /**
       * @throws SecurityException
       *            some severity error
       * @see java.util.logging.Handler#close()
       */
      @Override
      public void close ()
         throws SecurityException
      {
         return;
      } // close

      /**
       * @see java.util.logging.Handler#flush()
       */
      @Override
      public void flush ()
      {
         return;
      } // flush

      /**
       * @param record
       *           record to log.
       * @see java.util.logging.Handler#publish(java.util.logging.LogRecord)
       */
      @Override
      public void publish (final java.util.logging.LogRecord record)
      {
         if (record.getLevel ().intValue () >= this.getLevel ().intValue ())
         {
            REST_Responce.this.errorMessages.add (this.formatter.format (record));
         } // if
         return;
      } // publish
   } // LogHandler
/**
*
*记录错误,以便返回到服务器(并在单元测试中测试)
*

* *@作者“Martin Krishik” *@version 1.0$修订版:2229$ *@see java.util.logging.Handler *@自1.0以来 */ @抑制警告(“合成访问”) 受保护的最终类日志处理程序 延伸 java.util.logging.Handler { /** * *一个非常简单的格式化程序,只显示与最终用户相关的内容 *应该查看日志文件 *

* *@作者“Martin Krishik” *@version 1.0$修订版:2229$ *@see java.util.logging.Formatter *@自1.0以来 */ 私有类日志格式化程序 延伸 java.util.logging.Formatter { /** * *线路分离器 *

*/ 私有最终字符串lineSeparator=System.getProperty(“line.separator”); /** * *格式化给定的日志记录。 *

* *@param记录 *要格式化的日志记录。 *@返回格式化的日志记录 *@see java.util.logging.Formatter#format(java.util.logging.LogRecord) */ @凌驾 公共同步字符串格式(最终java.util.logging.LogRecord) { 最终StringBuilder retval=新StringBuilder(4096); 最终字符串消息=this.formatMessage(记录); final java.util.logging.Level=record.getLevel(); retval.append(level.getLocalizedName()); retval.append(“:”); retval.append(消息); retval.append(this.lineSeparator); 返回retval.toString(); }//格式 }//日志格式化程序 /** * *一个非常简单的格式化程序,只显示与最终用户相关的内容 *应该查看日志文件 *

*/ 私有最终DBUpdate.LogHandler.LogFormatter格式化程序= 新的DBUpdate.LogHandler.LogFormatter(); /** *@抛出安全异常 *严重错误 *@see java.util.logging.Handler#close() */ @凌驾 公众假期结束() 抛出SecurityException { 返回; }//关闭 /** *@see java.util.logging.Handler#flush() */ @凌驾 公共空间齐平() { 返回; }//冲洗 /** *@param记录 *记录到日志。 *@see java.util.logging.Handler#publish(java.util.logging.LogRecord) */ @凌驾 公共作废发布(最终java.util.logging.LogRecord) { 如果(record.getLevel().intValue()>=this.getLevel().intValue()) { REST_response.this.errorMessages.add(this.formatter.format(record)); }//如果 返回; }//发布 }//日志处理程序
您可以尝试创建子类

  • 映射到
  • 映射到
  • 映射到