Sounds great, Richard! Thanks for taking this one on. Thanks, Jeff
On Tue, Jan 10, 2023 at 9:19 AM Richard Zowalla <r...@apache.org> wrote: > Hi all, > > any additional thoughts? > > At the moment, most people tend towards slf4j (c). > > If there is no other opinion or a hard veto on that code change, I > would like to start working on it and create a related ticket. > > Holiday season just ended but let's give people some more time (maybe > end of next week, 20th January) to order their post holiday mail boxes > ;) > > Gruß > Richard > > > Am Donnerstag, dem 29.12.2022 um 19:01 +0100 schrieb Richard Zowalla: > > Hi all, > > > > thanks Martin and Bruno for your opinions. It is very much > > appreciated! > > > > I think, that we should wait a few more days due to the holiday > > season > > if other people want to express their opinion / thoughts as well. > > > > At the moment it looks like a strong tendency towards C (slf4j) :-) > > > > Happy to hear additional thoughts! > > > > Gruß > > Richard > > > > Am Donnerstag, dem 29.12.2022 um 17:32 +0000 schrieb Bruno P. > > Kinoshita: > > > In Apache Commons when we need to use a logging library, we use JUL > > > as in B) (e.g. Commons Imaging). > > > > > > But higher level code like OpenNLP or Jena, I think it makes more > > > sense C), so +1 for C) (or B) if others prefer, -0 to A)). > > > > > > Thanks! > > > > > > -Bruno > > > > > > On 2022/12/15 10:56:01 Richard Zowalla wrote: > > > > Hi all, > > > > > > > > I wanted to start a discussion regarding logging / sysout in > > > > OpenNLP > > > > based on the discussion raised in a recent PR [1]. > > > > > > > > From my digging into the history of OpenNLP developmen, I found > > > > [2] > > > > and > > > > [3] (~ 7 years) ago with an (unsuccessful) attempt to switch to a > > > > logging implementation as "the project has always tried to > > > > maintain > > > > a > > > > principle of using the fewest dependencies as possible." > > > > > > > > 7 years later I want to start this discussion (this time _on_ the > > > > list) > > > > again and discuss possibile ways of introduce proper logging and > > > > collect pros/cons for solutions, which can include the option of > > > > let it > > > > be like it is ;) > > > > > > > > Problem statement: > > > > > > > > There seems to be no concept of logging used in OpenNLP. We have > > > > various classes, which make use of System.out.println(...) or > > > > System.err.println(...). There is no central concept of logging. > > > > Most > > > > of these statements are related to DEBUG or are used to INFOrm > > > > the > > > > user, that something went wrong or something is done. > > > > > > > > This makes it awkward to use the modules and integrate it into > > > > different application (as it spams our logs (if someone redirects > > > > System.out or console) or is lost as the modules are used within > > > > an > > > > application server, etc.) > > > > > > > > Ideas: > > > > > > > > From my point of view, we have several ways / options to deal > > > > with > > > > it: > > > > > > > > (A) We leave it as is and don't touch it. > > > > > > > > (B) We switch to java.util.logging (JUL) (no additional deps, > > > > might > > > > be > > > > a bit akward to use) and provide some bridging adapters / modules > > > > / > > > > examples to hook a user logging library (log4j2, logback, ...) > > > > and > > > > handle JUL from a user point of view. Of course, this would > > > > require > > > > to > > > > provide some basic config (similar to System.out) to ship with > > > > the > > > > CLI > > > > tools. > > > > > > > > (C) We use a common logging api like SLF4J and deal with that in > > > > our > > > > code base. We include no dependency to any logging implementation > > > > (only > > > > in "test" scope) and let the user choose a concrete logging > > > > implementation for their own purpose. However, if OpenNLP is used > > > > as a > > > > CLI, we need to ship a dependency towards a logging library to > > > > make > > > > it > > > > work + configuration. This might possibily require to split the > > > > cli > > > > / > > > > tools module. > > > > > > > > (D) We could implement some sort of listener construct and > > > > delegate > > > > System.out calls to that layer. Users could change the way the > > > > listener > > > > deals with the System.out messages. Problem: Context (Method, > > > > Class, > > > > ...) in the calltrace might be lost (if needed) > > > > > > > > (E) Any other ideas? > > > > > > > > That said, I am fairly new in the OpenNLP community and > > > > appreciate > > > > any > > > > feedback / ideas on that topic. If we - as a communtity - that we > > > > don't > > > > want to deal with logging frameworks, so be it :) > > > > > > > > Thanks for feedback & Gruß > > > > Richard > > > > > > > > > > > > [1] > > > > https://github.com/apache/opennlp/pull/456#discussion_r1045816514 > > > > [2] https://issues.apache.org/jira/browse/OPENNLP-675 > > > > [3] https://github.com/apache/opennlp/pull/5 > > > > > > > > > > > > > > > > > > > > > >