问题标签 [filehandler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何为类的每个实例编写单独的日志文件?
我正在使用 java.util.logging 来记录我的程序,问题是我需要为每个类测试用例实例创建单独的日志文件。例如,我有三个测试用例对象,最后我得到三个日志文件,但是:
测试用例#3 包含测试用例#3 的日志,测试用例#2 包含测试用例2 和3 的日志,测试用例#1 包含所有测试用例的日志。
这是我的代码:
java - 标签内的 Java XML 日志记录
我正在尝试生成一个 XML 日志,该日志一个接一个地记录消息,例如
我查看了各种解决方案,但似乎没有一个能按我的要求工作。我最接近的是使用以下内容:http ://www.vogella.com/tutorials/Logging/article.html
我已经对其进行了调整以适应我的需要,即
这样做的问题是 getTail 在我的 FileHandler 关闭之前不会被调用,因此它仅在关闭时才有效。
我已经关闭它并尝试使用 append = true 重新打开 FileHandler 以获取下一条消息,但这(不足为奇)附加到日志的末尾。例如
这感觉应该很简单...
java - 如何通过 FileHandler 为 Logger 文件创建目录
我正在尝试在每天创建每个目录的目录中创建日志,但是 fileHandler 没有创建目录,而是它的抛出异常无法锁定 C:\dir_date\Logging.txt(这里 dir_date 不存在,我正在尝试在此目录中创建日志)。我可以通过“fileHandler”创建目录吗?
如果不存在,log4J 甚至可以创建目录,这不是可以通过 fileHandler 吗?
java - Java FileHandler 向文件名添加不必要的数字
我正在与 JUL 合作进行日志记录(不,我无法更改)。我开发了一个简单的包装器,我将参数传递给它,它每次都以正确的格式创建 FileHandler,这样我就不必在每个项目中重新创建日志记录。
我的测试应用程序的功能完全符合预期,但是当我将库导入其他项目时,我似乎遇到了一个(到目前为止只有一个)独特错误:每一次,它都会在日志文件的末尾添加一个“.0” .
即使没有冲突并且文件处理程序已配置为将现有文件附加到末尾(这很好),它也会这样做。我玩过各种文件名,最近我一直在使用简单的“mylog.log”,日志文件仍然输出为“mylog.log.0”。我已经检查过,fileHandler 正在传递正确的文件(“mylog.log”),但它没有在那里记录。
这不会发生在我的日志测试中,只有在我真正想要使用它的项目中才会发生。即使使用完全相同的参数,我也会得到不同的文件名。
JUL 有什么我想念的怪癖吗?代码非常简单。相关代码:
c# - 文件处理程序未保存的更改
我在 C# 中制作了一个简单的文件处理程序,但我遇到了未保存更改的问题。当我更改文本字段中的文本时,我希望它*
在窗体窗口名称中显示为 a。我不能使用 a因为那样formWindow 名称中textfield1_TextChanged
会有很多。*
我的问题是我怎样才能做到这一点,并确保如果我的布尔值“已更改”true
只有一个*
. 如果我保存我的布尔值将是错误的,并且*
将从我的 FormWindow 名称中删除。
不要介意这些评论,它们是瑞典语,是为了自我解释。
java - ProcessBuilder 和 FileHandler 的区别
谁能解释一下 和 之间的区别ProcessBuilder
,FileHandler
在什么情况下应该使用哪个。
例如,如果我们想将命令的输出重定向到一个文本文件,比如“ logfile.txt ”,ProcessBuilder
需要几秒钟才能将输出输出到该文件。
FileHandler
在 100 个进程必须将其输出发送到相同的“ logfile.txt ”的情况下,这可以做什么?
有没有办法在不使用方法的情况下将所有一百条记录输出到相同的“ logfile.txt ” ?这是我的代码,但是如果同时安排了 100 条记录,那么 p.waitfor() 方法将无济于事,因为执行命令并将每个进程的输出输出到日志文件需要几秒钟,而对于 100 个进程,这意味着需要更多是时候对数据库中的所有记录执行相同的命令了。但我的应用程序将每分钟启动一次。这就是问题所在, process.waitFor() 帮助我获得准确的输出,但更多的记录意味着需要更多的时间。我想要另一种方法,它不应该等待,但所有输出都应该同步附加到文件中。process.waitFor()
ProcessBuilder
java - Java 8 中的 java.util.logging.FileHandler 是否损坏?
首先,一个简单的测试代码:
这个测试代码只用 Java 7 创建一个文件“test_0_0.log”,不管我多久运行一次程序。这是预期的行为,因为构造函数中的 append 参数设置为 true。
但是如果我在 Java 8 中运行这个示例,每次运行都会创建一个新文件(test_0_0.log、test_0_1.log、test_0_2.log、...)。我认为这是一个错误。
恕我直言,Java中的相关变化是这样的:
(完整:OpenJDK 变更集 6123:ac22a52a732c)
我知道通常 FileHandler 会被 Logmanager 关闭,但如果系统或应用程序崩溃或进程被终止,情况并非如此。这就是为什么我在上面的示例代码中没有“关闭”语句的原因。
现在我有两个问题:
1)你的意见是什么?这是一个错误吗?(几乎在以下评论和答案中回答)
2) 您知道在 Java 8 中获取旧 Java 7 行为的解决方法吗?(更重要的问题……)
感谢您的回答。
javascript - 将大小和名称传递给 JavaScript 的 FileHandler 的 .onload 事件
如何将文件的名称和大小传递给 JavaScript 的 FileHandler 的 .onload 事件。如您所见,我在下面的 Ajax 调用中使用了(仍未声明的)size
变量name
。但是,我必须以某种方式从getData()
函数中传递它们。
我发现将参数传递给 FileReader onload 事件,但它似乎对我不起作用。
python - 如何在python中限制日志文件大小
我正在使用 Windows 7 和 python 2.7。我想将我的日志文件大小限制为 5MB。我的应用程序在启动时写入日志文件,然后应用程序终止。当我的应用程序再次启动时,它将写入同一个日志文件。所以应用程序不会连续运行。应用程序启动、处理和终止。
我的日志记录代码是:
我尝试使用RotatingFileHandler但它没有用
那么,如何在 python 中强制执行文件大小限制?
python - 如何使用 python 的 TimedRotatingFileHandler 强制旋转名称?
我正在尝试使用TimedRotatingFileHandler将每日日志保存在单独的日志文件中。旋转按预期完美地工作,但我不喜欢它的工作方式是文件的命名。
如果我将日志文件设置为 my_log_file.log,这将是“今天的”日志文件,当它在午夜更改一天时,它将被重命名为my_log_file.log.2014-07-08
最后没有 .log 扩展名,并且my_log_file.log
将为新的一天。
我想得到的是旧文件被重命名为my_log_file.2014-07-08.log
or even my_log_file-2014-07-08.log
,主要是 .log 在最后,而不是在中间。另外,我希望“今天的”日志文件已经用今天的日期命名,就像旧的一样。
有什么办法吗?
我发现我可以通过以下方式个性化后缀:
handler.suffix = "%Y-%m-%d"
但是我没有办法删除内部 .log 部分并强制当前日志文件添加后缀。