如何在 Web 应用程序中使用 java.util.logger?

2024-01-31

我正在尝试在网络应用程序中使用记录器。我添加了 FileHandler 将日志写入文件。现在,我需要在项目中的其他类/servlet 中使用相同的处理程序,以便将所有类的日志写入同一文本文件。 我怎样才能实现这个目标?

/***
 * Initialize a logger
 */
public static Logger logger;
static {
    try {
      FileHandler fh = new FileHandler("log.txt", true);
      fh.setFormatter(new SimpleFormatter());
      logger = Logger.getLogger(MyClass.class.getName());
      logger.addHandler(fh);
    }
    catch (IOException e) {
      e.printStackTrace();
    }
}

我是否需要像上面的代码一样初始化记录器并在每个类中添加处理程序?还有其他技术吗?


package package_name;

import java.io.IOException;

import java.util.Properties;

import org.apache.log4j.Logger;

import org.apache.log4j.PropertyConfigurator;


public class Log {

public  Log() 
{
        Properties props = new Properties();
    try {
        props.load(getClass().getResourceAsStream("/log4j.properties"));
    } catch (IOException e) {
        e.printStackTrace();
    }
    PropertyConfigurator.configure(props);//PropertyConfigurator.configure("log4j.properties");
}

public  Logger getLogger(Object obj) 
{
    Logger logger = Logger.getLogger(Object.class);
    return logger;
}

}

那么我们必须维持一个log4j.属性文件在我们的包之一中,文件应如下所示,

log4j.属性

log4j.rootLogger=DEBUG, R,CA

log4j.appender.R = org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File = c:\\our project name+LOGSLIVE\\logs\\project short name.log

log4j.appender.R.Append = true

log4j.appender.R.DatePattern = '_'yyyy-MM-dd'.log'

log4j.appender.R.layout = org.apache.log4j.PatternLayout

#log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %m%n

log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) -  %m%n


#Console Appender

log4j.appender.CA=org.apache.log4j.ConsoleAppender

log4j.appender.CA.layout=org.apache.log4j.PatternLayout

log4j.appender.CA.layout.ConversionPattern=%5p [%t] (%F:%L) -  %m%n
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Web 应用程序中使用 java.util.logger? 的相关文章

随机推荐

  • 有没有办法在 Python 中推断日期是否是 DST(夏令时)更改的实际日期?

    我想在Python中推断日期是否是一年中由于DST 夏令时 而改变小时的实际日期 与图书馆pytz您可以本地化日期时间 并且实际的 DST 更改已正确完成 此外 还有一个方法dst 图书馆的datetime这使您可以推断实际日期是夏季还是冬
  • iOS 设备上安装的所有应用程序的列表及其在主屏幕 (Springboard) 上的位置

    我几天来一直在寻找有关如何获取运行 iOS gt 5 0 的设备上已安装应用程序列表的下降答案 com apple mobile installation plist 我尝试过来自不同来源的代码 我得到的唯一几乎成功的解决方案是使用 Dan
  • 是否可以解耦 Eclipse 的代码索引功能?

    我正在寻找为大学课程编写一个静态分析器 为了为该工具提供更多功能 我希望能够查找调用层次结构 如 Eclipse 中的 Ctrl Alt H 所做的那样 这也必须是一个快速操作 因此查找可能必须针对索引而不是字节码扫描来完成 然而 我认为编
  • Jquery 无法读取 Internet Explorer 上的自定义标记文本

    我想在我的 html 页面中使用自定义标签并使用 jquery 读取其中的文本 就像是
  • 合并可跨越对象时出错

    我想合并 3 个可跨越的对象 这段代码工作正常 Spannable s1 new SpannableStringBuilder bold s1 setSpan new StyleSpan android graphics Typeface
  • 扩展FutureTask,如何处理取消

    我已经延长了FutureTask from java util concurrent提供回调来跟踪提交给任务的执行情况ExecutorService public class StatusTask
  • git 仅在 Gitlab CI 上克隆 LFS 文件的 sha

    我推了 png文件 每个文件大小为 2 MB 并由git lfs 到我的 gitlab com 存储库 比如说repo a 在另一个仓库的 CI 工作中repo b where git lfs安装后 repo a 被克隆 现在我看到所有 p
  • 如何通过 pkg-config 使用 C++ Boost 库?

    我成功编译并安装了最新版本的 Boost 库到我的 Linux 机器上 现在 我希望能够使用 pkg config 来简化提供 GCC 链接参数的过程 由于我懒得手动编码自己的 pc 文件 是否有一个脚本 工具可以自动生成所需的 pc 文件
  • 有什么方法可以使用 exe 文件执行我的 Node js 和 puppeteer 程序吗?

    当我在 CMD 上使用该程序时 该程序在 puppeteer 上运行良好 尽管如此 这是一个漫长的过程 对于任何非技术人员来说也很复杂 我想制作一个 exe 文件来执行我手动执行的任务 以在 CMD 中运行此 node js 文件 正如您首
  • Azure Active Directory 注销或清除本机应用程序的令牌缓存

    我有一个 C Web API REST 服务后端 我为 CMS 网页和 Angular2 应用程序提供服务 这是相关的 Angular 应用程序需要通过后端发送用户名和密码 原始凭据 进行身份验证 后端使用这些向 Azure Active
  • 尽管时间戳是正确的,但 date() 返回错误的日期!

    我的 php 日期函数有一个奇怪的问题 code numDays 8 date strtotime 2010 11 06 for i 1 i lt numDays i thisDay date D d M Y date print this
  • Java HTML 渲染“pt”与“px”大小

    我遇到了在 JLabel 中指定 html 元素宽度的问题 我想我应该在此处的旗杆上运行它 看看是否有人有任何建议 当我使用 px 单位值指定元素的宽度时 结果大小实际上约为 133 而如果我不使用单位或使用 pt 我会得到我指定的确切大小
  • 如何在 Django 中创建对话收件箱

    我有一个Message类有fromUser toUser text and createdAt fields 我想模仿 Whatsapp 或 iMessage 或任何 SMS 收件箱 这意味着我想获取每个对话的最后一条消息 I tried
  • 查找并发、重叠、日期范围的数量

    我有一个多年来一直试图解决的难题 但它完全超出了我的能力范围 我有一个包含 3 列的电子表格 A 列是讲师 ID 号 B 列是他们的课程开始日期 C 列是他们的课程结束日期 每个讲师 ID 都有多个课程 我基本上是想回答这个问题 这位讲师在
  • 独立于平台的资源系统(如 Qt Resource 系统)

    是否有一个类似于 Qt 附带的 C 平台独立资源系统 但没有 Qt 依赖项 我想从我的 C 源代码中访问任意数据 也就是说 不仅是图标 还包括翻译或着色器等 或者某种虚拟文件系统库来访问 例如ZIP 压缩文件或类似文件也能满足我的需要 我为
  • 检查视口中的可见性(puppeteer)

    如何使用 Puppeteer 检查 HTML 元素在视口 可见区域 内是否可见 例如 如果我必须滚动才能看到一个按钮 那么它就不可见 page waitForSelector element visible true page waitFo
  • 正则表达式前瞻、后瞻和原子组

    我在我的正则表达式体内发现了这些东西 但我不知道我可以用它们做什么 有人有例子 以便我可以尝试理解它们是如何工作的吗 positive lookahead negative lookahead lt positive lookbehind
  • 使用 Python Rich 在布局内获取提示

    是否可以使用提示获取用户输入within使用 Python Rich 的布局元素 我的目标是使用 Rich 的 Layout 构建一个具有 4 个窗格的全屏窗口 顶部 3 个包含标题 成分和方法 效果很好 但我希望底部一个包含用户输入的提示
  • Xamarin.Forms 中的透明页面

    我需要能够为 Android 创建透明的 Xamarin Forms 页面 我怎样才能做到这一点真正的页面渲染器 现在它有默认的背景颜色 assembly ExportRenderer typeof MyPage typeof ClearB
  • 如何在 Web 应用程序中使用 java.util.logger?

    我正在尝试在网络应用程序中使用记录器 我添加了 FileHandler 将日志写入文件 现在 我需要在项目中的其他类 servlet 中使用相同的处理程序 以便将所有类的日志写入同一文本文件 我怎样才能实现这个目标 Initialize a