在我的程序中有两种模式:使用GUI而不使用GUI。当有GUI时,必须将所有日志记录语句发送到GUI,否则确实没有意义。没有GUI,虽然它并不重要。
问题是我希望我的大多数(75%?)用户在GUI模式下使用默认设置的程序。我期望的剩余用户将需要更高级的日志记录(记录到文件,记录到数据库,根本不记录日志等)。但问题是,如果我满足75%,我知道这将导致剩余用户感到痛苦,因为我的应用程序中提供了我的logback.xml文件。
下一个选项是强制每个人下载默认的logback.xml并将其放在应用程序的某个位置。它增加了灵活性,但它只是另一个设置。此外,我认为告诉所有人并不好...#34;您必须将此文件放在您的资源中,否则GUI将无法运行"。应用程序不应提供某种默认状态吗?
请注意,最后一个选项,设置一切有问题,无法正常工作,因为应用程序的其他部分可能首先加载。例如,一些Hibernate代码首先运行,在命令行中产生一大堆调试输出。我还认为GUI应该显示自应用程序启动以来的所有内容,而不仅仅是从GUI加载的那一点。
关于我应该做什么的任何建议?
答案 0 :(得分:3)
我建议提供一个默认的logback.xml,那些需要更高级配置的人可以使用-Dlogback.configurationFile = ...
指定它。