Tag: 记录

嵌入式Jetty和复杂日志记录

Jetty 9用于嵌入式服务器,一切运行良好。 剩下的一件事是记录问题。 在此之前,mvn:jetty-run带有自己的日志记录设置并登录到控制台。 这有利于发展。 在生产环境中,我们需要更特别的东西。 目前在初创公司SLF4J抱怨说,没有绑定可用,所以我们可以自由选择。 这就是我们想要存档的内容: 如果我们在非生产环境中启动,我们需要登录到控制台。 在生产环境中,日志记录应该在一个日志文件中完成,但是每天使用命名模式完成:logs / logname-date.log(例如logs / application-20130926.log) 我们使用命令行参数’-production’来区分生产模式和非生产模式。 由于jetty服务器是嵌入式的,我希望有一个解决方案,我们可以完全配置记录器,而无需管理xml或属性文件,使得日志配置方面脱离了部署过程。 那么我们有什么选择?我们如何以最佳方式做到这一点? 更新 :似乎退回是可行的方法。 它支持日志文件轮换,还可以使用控制台输出。 剩下的难题是如何以编程方式执行此操作而无需其他文件。

使用JDBC将PL / SQL过程与用户定义的记录一起调用为IN参数

我试图调用以下PL / SQL过程,该过程将用户定义的记录类型作为IN参数。 — User Defined Record TYPE EMP_REC IS RECORD ( id employees.employee_id%type, name employees.last_name%type, dept_name departments.department_name%type, job_title jobs.job_title%type, salary employees.salary%type, manager_id employees.employee_id%type, city locations.city%type, phone employees.phone_number%type ); 以下是用户定义记录的定义: — PURPOSE: Prints all employee information from the employee record — Example Of: PROCEDURE that takes in a parameter of RECORD type PROCEDURE print_employee_all_details(empl1 emp_rec […]

如何使用java.util.logging对齐日志消息

有人可以发布如何在日志消息中实现对齐: [10:14:31 main package1.Class1 INFO]: initializing data.. [10:14:31 Thread-0 package2.Class2 method1 INFO]: log message 我知道我可以使用log4j,但我想知道如何使用JUL实现这一点。 我尝试使用MessageFormat,FieldPosition但无济于事。 谢谢

Java自定义记录器:记录标准或/和最佳实践

我正在开发一个框架,我不会尽可能轻量级和独立。 所以我写了我的日志类: import java.util.Date; import java.util.Properties; public class Logger { private static final Logger me = new Logger(); private static boolean info = false; private static boolean debug = false; private static boolean error = false; private static String className = null; public static Logger getInstance(Class clazz) { className = clazz.getCanonicalName(); try { Properties props […]

适当的事件日志解析器设计模式?

处理解析事件日志的项目,然后根据这些事件的属性更新模型。 我一直懒得“完成它”,更关心前期优化,精益代码和适当的设计模式。 主要是自学实验。 我感兴趣的是更有经验的设计师认为相关的模式,或者哪种类型的伪编码对象架构是最好的,最容易维护的等等。 单个日志中可以有500,000个事件,大约有60种类型的事件,所有这些事件共享大约7个基本属性,然后根据事件类型具有0到15个其他属性。 事件类型是每行日志文件中的第二个属性。 因此,我尝试了一个非常丑陋的命令式解析器,逐行遍历日志,然后逐行处理事件。 然后我尝试了一个使用“nextEvent”模式的词法规范,该模式在循环中被调用并被处理。 然后我尝试了一个简单的旧“解析”方法,该方法永远不会返回,只是将事件触发到已注册的侦听器回调。 无论事件类型如何,我都尝试过一次回调,以及特定于每种事件类型的回调方法。 我已经尝试了一个带有所有可能属性的联合的基础“事件”类。 我试图避免“新事件”调用(因为可能存在大量事件并且事件对象通常是短暂的)并且具有带有原始属性参数的每种类型的回调方法。 我已经尝试为60个事件类型中的每一个创建子类,并使用具有7个公共基本属性的抽象事件父类。 我最近尝试进一步使用命令模式为每个事件类型放置事件处理代码。 我不确定我是否喜欢这个并且它与每种类型的回调方法非常相似,只是代码在类型子类中的执行函数内,而不是每种类型的回调方法。 问题是很多模型更新逻辑是共享的,而且很多都是特定于子类的,我只是开始对整个事情感到困惑。 我希望有人能够至少指出我的方向来考虑!

在类之间传递记录器

我的项目中有两个类,我想将记录器从主类传递给子类,并让子类使用父级的记录器设置。 子类是一个单独的generics类(即没有绑定到主类),如果没有提供,则必须能够创建自己的记录器。 主类创建一个记录器,添加一个控制台处理程序,文件处理程序和日志格式化程序,我希望子类能够临时覆盖日志格式化程序的日志消息,然后当主类恢复时,恢复为它的日志格式化程序。 我曾尝试将记录器添加到子类中,或者根据需要创建一个新的记录器,但是我在屏幕上和日志文件中得到了多条消息(它似乎将处理程序附加到主类而不是覆盖 – 骑它)。 我该怎么做呢?

出于好奇 – 为什么不记录API实现printf() – 就像记录方法一样?

无论是java.util.logging,commons-logging,log4j,还是最新的slf4j和logback,这些API都没有提出诸如以下方法: void debug(String format, Object… args); 其中format是使用Formatter解析的字符串。 相反,他们坚持使用MessageFormat 。 我知道它会与现有的原型冲突,所以为什么不debugf()等,但为什么没有任何这样的方法,因为Formatter和Java 1.5一样古老? 是出于性能原因,向后兼容……? (注意,我真的在谈论Formatter ,即包括占位符,如%s , %02x等)

如何使用指定的Charset将文本附加到Java 8中的文件

我正在寻找一种简单易用的解决方案,使用指定的Charset cs将文本附加到Java 8中的现有文件中。 我在这里找到的解决方案涉及标准的Charset ,这在我的情况下是不行的。

如何禁用速度日志

我一直试图禁用Velocity日志,到目前为止我发现的唯一方法是积极的结果是设置: runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem 但是在velocity.jar里面的velocity.properties里面。 我在Web应用程序(tomcat)上下文中使用velocity。 有没有办法禁用速度(通过设置以前的属性或其他)但不修改JAR? 无法修改任何CODE 提前致谢

Java Logger只对文件,没有屏幕输出

我有一个很简单的问题,但无法找到解决方案。 我有一个添加了文件处理程序的记录器,但它仍然从我的控制台中消失了。 我怎么能让记录器只将所有输出路由到文件,没有控制台输出?