- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我部署了一个servlet。我对生成的日志文件有点困惑。特别是我不知道该看哪一个。
使用相同的数据生成了多个。
我正在使用以下代码来初始化我的文件处理程序。
Logger logger = Logger.getLogger(Global.TAG);
String path = realPath + "myappname" + ".%g.log";
FileHandler fh = new FileHandler(path, 10240000, 1000, true);
logger.addHandler(fh);
logger.setLevel(Level.ALL);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logInfo("Logger Configured!");
请注意,当文件旋转时,我有 %g
。
生成的文件是这样的。
myappname.0.log
myappname.0.log.1
myappname.0.log.2
myappname.0.log.3
myappname.0.log.4
myappname.0.log.5
myappname.0.log.6
myappname.1.log
myappname.1.log.2
myappname.1.log.4
myappname.1.log.5
myappname.2.log
myappname.2.log.1
myappname.2.log.2
myappname.2.log.3
myappname.2.log.4
myappname.2.log.5
myappname.2.log.6
myappname.3.log
myappname.3.log.1
myappname.3.log.3
myappname.3.log.6
在生成日志的最后 2-3 周内,Servlet 被多次取消部署和重新部署。
我注意到具有相同名称的日志(除了“.log”部分之后的最后一位)具有相同的日志记录语句。有些文件较多,有些较少。
什么给了?我应该如何阅读这篇文章?
最佳答案
您在部署时以编程方式打开 FileHandler,因此您可以在取消部署时从记录器中关闭并删除 FileHandler。
根据 FileHandler文档:
Normally the "%u" unique field is set to 0. However, if the FileHandler tries to open the filename and finds the file is currently in use by another process it will increment the unique number field and try again. This will be repeated until FileHandler finds a file name that is not currently in use. If there is a conflict and no "%u" field has been specified, it will be added at the end of the filename after a dot. (This will be after any automatically added generation number.)
您必须通过logging.properties设置FileHandler,以便它只安装一次,或者您将设置和拆卸代码移至ServletContextListener
关于Java Logger FileHandler 命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25143666/
我尝试添加、删除 FileHandler,但不起作用。此外,在现有 FileHandler 中更改 (URL) 后,该 url 仍然指向旧 URL。现有的 FileHandler 工作正常,但没有选择
我正在尝试禁用日志轮转,以供文件处理程序使用, FileHandler fh = new FileHandler ( "path" + "run.log", 1000000, 1, false
我了解当达到特定大小时 Java FileHandler 如何滚动到下一个日志文件。我想要的有点不同。我想使用 FileHandler 在程序启动时使用序列中最后写入时间最早的日志文件。 例如,如果我
我正在使用jdk日志记录,并且我在logging.properties中有以下内容: handlers= java.util.logging.FileHandler .level= INFO java
我想在线程完成或强制完成后关闭所有 FileHandler。 我创建了一个 closeLogger 函数,但它似乎没有被调用 因为我看到文件仍然锁定在文件夹中。 有什么问题? 在eclipse中强行终
我有以下代码: func syncShellExec(path: String, args: [String] = []) { let process = Process
我正在尝试使用 fs.open 和 FileHandle 在 Node 中逐字节读取二进制文件。使用 FileHandle.read(buffer, offset, length, position)
我正在使用 Python 日志记录包,我需要记录两种类型的消息: 仅应登录到标准输出的消息 应该只记录到文件中的消息。 但是我无法实现它。这是我的代码: import logging
假设我有一个 4GB 的文件需要处理,在 Perl 中有没有一种方法可以像数组一样引用文件句柄,而无需将其复制到实际的数组/内存中? 类似于: open (LOG, "less file.txt |"
我需要为 websphere 应用程序服务器 9 上安装和运行的每个应用程序生成一个日志文件。我使用 JUL 来生成日志文件。我的解决方案是创建一个继承自 FileHandler 的特定类,并通过配置
我有一个看起来像这样的代码: let fileName = "name.txt" let fileURL = URL(fileURLWithPath: NSTemporaryDirectory()).
我部署了一个servlet。我对生成的日志文件有点困惑。特别是我不知道该看哪一个。 使用相同的数据生成了多个。 我正在使用以下代码来初始化我的文件处理程序。 Logger logger = Logge
我不明白为什么 tell() 函数在这种情况下不起作用。让我们创建一个包含字符串“1\n2\n3\n4\n”的文件: f=open('test.tmp','w') f.write('1\n2\n3\n
我有一个日志配置文件: logger_config.yml version: 1 formatters: simple: format: '%(asctime)s - %(levelnam
我正在尝试将所有过度使用的打印更改为日志记录。*主要是因为我想要一个日志文件。 logger = logging.getLogger(__name__) formatter = logging.For
Java 日志记录配置文件让我可以定义命名记录器的属性,例如 name.heikoseeberger.heikotron.level = FINE name.heikoseeberger.heikot
我正在创建一个允许循环访问文件的 java.util.logging.FileHandler。当我的应用程序的多个实例运行时,将为应用程序的每个实例创建一个新的日志文件。我需要知道应用程序正在使用什么
我正在考虑使用 Java 日志记录和 FileHandler 在 J2EE 网络应用程序中记录业务事件。 我想知道这是否会导致性能瓶颈,因为许多日志记录将写入一个文件。 您的经验和意见是什么? 使用
我正在尝试使用 Pipe的 fileHandleForReading的 readabilityHandler阅读 standardOutput和 standardError的 Process .然而,
我正在尝试在多处理服务器中实现日志记录。根据文档,“不支持从多个进程记录到单个文件”。我创建了一个小程序来检查这个语句: import logging import multiprocessing i
我是一名优秀的程序员,十分优秀!