草庐IT

java - 如何使用指定的字符集将文本附加到 Java 8 中的文件

我正在寻找一种使用指定的Charsetcs将文本附加到Java8中的现有文件的简单且节省的解决方案。我找到的解决方案here处理标准Charset,这在我的情况下是不行的。 最佳答案 一种方法是使用Files.writethatacceptsaCharset的重载版本:importstaticjava.nio.charset.StandardCharsets.UTF_8;importstaticjava.nio.file.StandardOpenOption.APPEND;importstaticjava.nio.file.Stan

java - 用于大输出的 Java 高级文本记录 Pane

Mathematica带有一个简单的java程序,可以检查前端和内核之间的通信。它叫做LinkSnooper总的来说效果很好。看起来像这样我认为我可以在一定程度上改进程序的行为和可用性,但为此,我需要重新实现某些部分。我需要的一个基本部分是文本Pane,它具有以下属性:它可以接收大量数据,它可能应该使用快速环形缓冲区,以便在数据增长过多时删除最开始的日志行。另一种可能性是它会自动开始将数据写入磁盘,并可能在用户向上滚动以查看第一个条目时重新加载数据它应该能够处理彩色文本。我计划在每个到达的行上使用一个简单的荧光笔(日志数据实际上是真正的Mathematica语法)以使阅读更容易它不需要

java - 将项目从 log4j 迁移到 slf4j+log4j

我有一个直接使用log4j的大型Web项目,以及许多第3方库和混合的日志记录库。我们的代码库-直接使用log4j。Hibernate-使用slf4j和slf4j-log4j绑定(bind)。Spring-使用commons-loggings。因此,它使用jcl-over-slf4j桥接api、slf4j本身和slf4j-log4j绑定(bind)。其他许多库,使用通用日志记录或log4j。我正在考虑将我们自己的代码库迁移到slf4japi,但我不确定这样做的好处是否足够强大,是否值得付出努力。目前我知道以下好处:更清洁的API。性能改进-即使用参数化日志记录方法的能力。能够在未来轻松切

java - 将 slf4j 与 log4j2 结合使用

我最近一直在尝试log4j2。现在,我想用slf4j测试它,并想知道如果我用log4j2尝试slf4j,log4j2中的所有功能(例如,通过中断器进行异步日志记录)是否可用。我尝试将slf4jjar文件和log4j2&disruptorjar文件添加到测试项目中(我添加了log4j-slf4jjar但不完全确定它是否仅适用于log4j或log4j2)。当我使用log4j2时,我可以将语句注销到日志文件中。当我尝试slf4j时,它不起作用(而且我不确定它是我的配置还是slf4j未设置为与log4js中断器日志记录一起使用的事实?欢迎任何建议。我将更新帖子以提供更多信息和示例代码。

java - 是每个类一个记录器还是一组被整个应用程序访问的记录器?

我有一个Java项目,我创建了七个记录器,程序的每个点都可以通过外观访问这些记录器。但是在互联网上,我看到很多例子,每个类都有一个记录器。最推荐的记录方式是什么? 最佳答案 每个类中的记录器更好,更易于扩展。原因是在一个类中定义一个记录器很容易将真正的日志记录api与记录器的配置(格式、持久性)分开。我使用过不止一种大型复杂的Java软件(>100万行代码),它们每个类都使用一个记录器。此外,“每个类一个记录器”的定义并不意味着每个类使用不同的记录器实例。classFoo{privatestaticfinalLoggerlog=Lo

java - 如何从 2 行 java.util.logging 输出中抑制日期行?

这个问题在这里已经有了答案:HowdoIgetjavaloggingoutputtoappearonasingleline?(10个答案)java.util.logging:howtosuppressdateline(3个答案)关闭4年前。我正在使用Java默认记录器,现在它正在输出大量无用的垃圾,这是一个示例,这行代码:log.info("Loggingpointlessinformation...")将输出所有这些:Oct26,20119:37:57PMjava.util.logging.LogManager$RootLoggerlogINFO:Loggingpointlessin

java - 如何正确设置 Spring Boot 和 log4j2?

如何通过log4j2以及我拥有的其他依赖项(Hibernate、Netty、Mina等)正确地生成Spring日志?我尝试了许多不同的细化和依赖性组合。但我要么可以让Spring记录日志,要么只记录Spring。在所有依赖项都正确记录(但Spring)的情况下,我收到以下错误:java.lang.NoSuchMethodError:org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(Lorg/apache/logging/log4j/core/config/ConfigurationSou

java - 使用 log4j 通过 SMTPAppender 发送电子邮件报告

我正在尝试使用log4j发送包含来自后台进程的日志记录语句的可通过电子邮件发送的报告。我希望为每个进程运行发送一封电子邮件,而不是为每个日志语句发送一封电子邮件。我查看了SMTPAppender,但没有看到在进程完成时手动发送报告的方法。我相信TriggeringEventEvaluator可能是关键,但我遇到的一个问题是如何获取TriggeringEventEvaluator实例的句柄。我一直在使用log4j1.2.14,并且在1.2.15中引入了SMTPAppender.getEvaluator()方法。有什么想法吗?我走在正确的轨道上吗?SMTPAppender.close()方

java - 在网络应用程序中记录用户 Activity

我希望能够在网络应用程序中记录用户Activity。我目前正在使用log4j,它非常适合记录错误等,但我不确定记录用户、执行的servlet方法和方法参数的最佳方法是什么。我正在使用SpringSecurity进行身份验证。一个典型的servlet可能是这样的:publicclassBankAccountServlet{@RequestMapping("/deposit")publicvoiddeposit(doubleamount){...}@RequestMapping("/checkBalance")publicdoublecheckBalance(){...}}如果有两个用户,

java - 如何使用 Log4j2 在关闭 Hook 中登录?

Log4j2还使用关闭Hook来结束其服务。但是我当然想记录我应用程序的整个生命周期——包括关闭。使用Log4j这不是问题。现在看来是不可能了。日志记录关闭,而我的应用程序仍在处理它。有人对我有希望吗?最好的问候马丁 最佳答案 从2.0-beta9开始,这现在可以在xml中配置考虑到它现在已禁用,我想我需要在关闭Hook结束时手动关闭日志记录系统。但是我找不到一个方法可以通过外部接口(interface),只能在内部api中importorg.apache.logging.log4j.LogManager;importorg.apa