什么是log4J';s相当于java.util.logging.Handler
我喜欢截取一些(最重要的)日志消息,并将它们显示在GUI中,或者检查是否记录了任何错误。通常我使用什么是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
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));
}//如果
返回;
}//发布
}//日志处理程序
您可以尝试创建子类
- 映射到
- 映射到
- 映射到