1

在使用 Java 和 com.alvazan.orm.api 库创建示例时,禁止使用“System.out.println”。

学习的第一个也是最简单的 Java 练习之一是“Hello World”,也使用“System.out.println”(...也称为日志记录,或在控制台中找到返回的请求数据?)使用 Eclipse 时,日志记录通过修改 logback.xml 文件(ctrl-shift-R 并输入 logback.xml)关闭

从那里;
<logger name="com.alvazan.orm" level="WARN"/>
是要添加到 logback.xml 文件以便只显示启动日志的行。

此外,
2012-09-14 22:05:08,067 com.alvazan.test.FactorySingleton createFactory
INFO: CREATING FACTORY FOR TESTS
2012-09-14 22:05:08,809 com.impetus.annovention.ClasspathDiscoverer processFile
INFO: adding folder to scan=file:/C:/AAROOT/workareas/area1/playorm/eclipsegen/
还使用了另外两个日志,例如....。

  • 只是澄清所有信息都输入到 logback.xml 文件中?
  • 是否有不同的文件可供使用(除了 logback.xml)?
  • 或者是最终用户使用,例如“com.alvazan.test.FactorySingleton createFactory”;和“com.impetus.annovention.ClasspathDiscoverer processFile”?
  • 结束这个问题,前面的文件路径是否必要?

谢谢你的时间,
瑞恩


为了回应布雷特和其他信息/问题,

您的根记录器是如何配置的?您只是为 com.alvazan.orm 设置了 WARN,因此如果您的根记录器是 INFO,那么将记录 com.alvazan.test INFO。

嘿布雷特,谢谢你的回复......

至于根记录器配置,我相信该值设置为“INFO”。
logback.xml
话虽如此,我想将“INFO”设置为“WARN”,以防止使用“System.out.println”
同样在上一个问题中,我提到:

2012-09-14 22:05:08,067 com.alvazan.test.FactorySingleton createFactory
信息:为测试创建工厂
2012-09-14 22:05:08,809 com.impetus.annovention.ClasspathDiscoverer processFile
信息:将文件夹添加到扫描 = 文件:/C:/AAROOT/workareas/area1/playorm/eclipsegen/

com.alvazan.test.FactorySingleton 和 com.impetus.annovention.ClasspathDiscoverer(同一个库中的不同包)

在同一个库中找到不同的位置...
图书馆

我是否需要为其他文件或 *package 执行 logback 过程,或者在同一个库中执行一次,应该就足够了吗?还是我要调整附加值?

4

2 回答 2

0

您的根记录器是如何配置的?您只是为 com.alvazan.orm 设置了 WARN,因此如果您的根记录器是 INFO,那么将记录 com.alvazan.test INFO。

于 2012-09-15T07:16:13.003 回答
0
  1. 你的第一句话……

“在使用 Java 和 com.alvazan.orm.api 库创建示例时,禁止使用“System.out.println”。”

一般来说,没有人使用 System.out.println。Hibernate 没有,JBoss 没有,tomcat 没有。它们都使用日志框架,因此您可以配置生产中的每个日志,并且每个使用 tomcat 或 jboss 或 hibernate 的公司都可以对其进行不同的配置。如果这些程序使用 System.out.println,客户将无法控制,并且您的服务器将始终运行缓慢,因为您从不想要“所有”日志记录,并且无法关闭 System.out.println !!!!!!他们总是在。log.info 可以关闭和打开。

有关配置 logback 的最完整答案可以在他们的文档中找到

http://logback.qos.ch/manual/configuration.html

只是澄清所有信息都输入到 logback.xml 文件中?

我不确定你这个问题是什么意思。logback.xml 是一个名为 logback 的日志库的配置,您可以在上面的链接中找到它。

Is there a diffrent file to use(other than logback.xml)?

logback 有其他选项,比如 groovy 文件来配置它,但是 playOrm 只使用 logback.xml,尽管任何客户端都可以决定他们使用什么配置文件,因为 playOrm 丢弃了在交付给其他项目时签入的 logback.xml 文件。

Or is the end-user to use, for instance, "com.alvazan.test.FactorySingleton createFactory"; 
and "com.impetus.annovention.ClasspathDiscoverer processFile"?

我对这个问题感到非常困惑。最终用户不应该使用 FactorySingleton(直接或间接地,并且该类甚至不在 jar 中,因为它在测试包中)。最终用户将仅间接使用 ClasspathDiscoverer……事实上,最终用户甚至不知道这些类。

Finalizing this question, is the file path for the preceeding necessary?

您是否想问 logback.xml 中的文件路径是否必要?如果你想了解更多关于 logback 是如何工作的,你需要阅读大量的文档。基本上,您可以执行 com.alvazan level=WARN 之类的操作来打开 com.alvazan 中的任何类。* * 警告级别(这是递归的,适用于子、孙等)。ROOT 记录器也始终在 logback.xml 中定义,并且是所有包中所有类的级别,除非被覆盖。

是的,playorm 中的根记录器设置为警告。

在您显示的图片的底部(您的图片已被截断,因此不在该图片中),有一个“源”选项卡,您可能希望单击它以更好地查看 xml,它会更好地与 logback 的文档匹配好。这是我打赌您正在查看的文件的链接。

https://github.com/deanhiller/playorm/blob/486079cfefbd2b4b79e99652b24c146572663dda/input/javasrc/logback.xml

根记录器明确设置为信息,如果需要,可以设置为警告。

所以你想要什么。您是否希望这两个日志语句消失并被关闭?您是否希望关闭除 WARN 之外的所有日志语句?

如果您想在所有软件库中关闭所有功能,只需将根记录器更改为“WARN”。如果您只想关闭 FactorySingleton,您可以添加此行

<logger name="com.alvazan.test.FactorySingleton" level=""WARN"/>

如果您希望关闭所有 com.alvazan 日志记录,而不仅仅是关闭 com.alvazan.orm 中的所有内容,因为您还希望关闭 com.alvazan.test,但您希望所有其他库仍处于打开状态(但始终希望 WARN 开启你通常应该想要的),那么你可以改变这个

<logger name="com.alvazan.orm" level=""WARN"/>

改为以下

<logger name="com.alvazan" level=""WARN"/>

了解 logback 的最佳选择是阅读 logback 文档。

于 2012-09-16T11:35:18.397 回答