From logback-dev at qos.ch Mon Apr 3 11:19:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Mon, 3 Apr 2023 11:19:00 +0200 (CEST) Subject: [logback-dev] [JIRA] Updates for LOGBACK-1731: element only seems to be substituting variables which are on scope "system" In-Reply-To: References: Message-ID: logback / LOGBACK-1731 [Open] element only seems to be substituting variables which are on scope "system" ============================== Here's what changed in this issue in the last few minutes. This issue has been created This issue is now assigned to you. View or comment on issue using this link https://jira.qos.ch/browse/LOGBACK-1731 ============================== Issue created ------------------------------ Terry van der Griend created this issue on 03/Apr/23 11:07 Summary: element only seems to be substituting variables which are on scope "system" Issue Type: Bug Affects Versions: 1.4.6 Assignee: Logback dev list Components: logback-core Created: 03/Apr/23 11:07 Environment: Spring boot application 3.x.x Labels: include substitution variable Priority: Major Reporter: Terry van der Griend Description: {code:java} // code placeholder {code} We are migration from Logback 1.2.11 to 1.4.7 and stumbled upon on an issues regarding the element. When the element is used in combination with a as its value, it is not able to include the file when the variable is not on the scope "system". Logback will keep trying to add the file to the ConfigurationWatchListUtil with the "_IS_UNDEFINED" replacement. h3. Our case: We are using logback via spring to load a file, this is done based on the configured file location using a . When investigating further we have noticed that this issue is not unique to the but also includes the and elements. h3. Reproduction configuration:   {code:java} {code} When using the provided configuration the "include" variable is not substituted in the file element. It tries to substitute it, but it is not able to resolve its value.   However when using the following configuration: {code:java} {code} Now the file will be included. Using any other scope then "system" will result into an "_IS_UNDEFINED" file inclusion. h3. Workaround: For now we have found a workaround which we are not very keen on to keep using. By offloading the original variable onto a system scoped variable we are able to include the file. This does mean that we are exposing unwanted variable on the system properties which we would rather not. Offloading a to a with the system scope also seems to work. ============================== This message was sent by Atlassian Jira (v9.6.0#960000-sha1:a3ee8af) From logback-dev at qos.ch Mon Apr 3 11:57:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Mon, 3 Apr 2023 11:57:00 +0200 (CEST) Subject: [logback-dev] [JIRA] Updates for LOGBACK-1732: Log file pollution when using the in a conditional block In-Reply-To: References: Message-ID: logback / LOGBACK-1732 [Open] Log file pollution when using the in a conditional block ============================== Here's what changed in this issue in the last few minutes. This issue has been created This issue is now assigned to you. View or comment on issue using this link https://jira.qos.ch/browse/LOGBACK-1732 ============================== Issue created ------------------------------ Terry van der Griend created this issue on 03/Apr/23 11:45 Summary: Log file pollution when using the in a conditional block Issue Type: Bug Affects Versions: 1.4.6 Assignee: Logback dev list Components: logback-classic Created: 03/Apr/23 11:45 Environment: spring boot application 3.x.x Labels: conditional include Priority: Major Reporter: Terry van der Griend Description: We are migration from Logback 1.2.11 to 1.4.7 and stumbled upon some log pollution. When a element is used the and it is not able to resolve the file two entries are added to the log. {code:java} 11:00:18,521 |-INFO in ch.qos.logback.core.joran.util.ConfigurationWatchListUtil at 43ed0ff3 - Adding [file:/C:/dev/include_IS_UNDEFINED] to configuration watch list. 11:00:18,522 |-WARN in ch.qos.logback.core.joran.action.IncludeAction - Failed to open [file:/C:/dev/include_IS_UNDEFINED] {code} This is correct as the variable is currently undefined and logback is not able to include it yet. So yes I would expect to see these statement in the log. However when placing an element inside an block I would not expect these statement to be included, as it should try to read the configuration. h3. Reproduction configuration: {code:java}     {code} Using the following configuration will result into the following log statements: {code:java} 11:15:44,779 |-INFO in ch.qos.logback.core.joran.util.ConfigurationWatchListUtil at 6de54b40 - Adding [file:/C:/dev/include_IS_UNDEFINED] to configuration watch list. 11:15:44,779 |-WARN in ch.qos.logback.core.joran.action.IncludeAction - Failed to open [file:/C:/dev/include_IS_UNDEFINED] 11:15:45,593 |-INFO in ch.qos.logback.core.model.processor.conditional.IfModelHandler - Condition [isDefined("include")] evaluated to true on line 3 {code} What we have noticed is that the IncludeAction is processed before the variable is set. I would expect that the element is only processed when the condition has been met.  In the first line we see that element is already being processed before the Condition or Variable have been processed. Now in the second line it is trying to open the file which it can't. On the third line we can see that the Condition actually is succeeding as the Variable has now been processed. h3. Expectations: I would expect that the IncludeAction would take place in the order of definition: # Variable "include" is set # If condition is processed and matches # File include is executed But what we see is the following: # File include is executed # Variable "include" is set # If condition is processed and matches This would result into lesser log statements,  ============================== This message was sent by Atlassian Jira (v9.6.0#960000-sha1:a3ee8af) From logback-dev at qos.ch Tue Apr 4 18:51:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Tue, 4 Apr 2023 18:51:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1717) Reduce the memory footprint with GraalVM native image In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 403 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: From logback-dev at qos.ch Tue Apr 4 18:52:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Tue, 4 Apr 2023 18:52:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1717) Reduce the memory footprint with GraalVM native image In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 403 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: From logback-dev at qos.ch Tue Apr 4 18:55:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Tue, 4 Apr 2023 18:55:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1717) Reduce the memory footprint with GraalVM native image In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 403 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: From logback-dev at qos.ch Sun Apr 16 09:14:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Sun, 16 Apr 2023 09:14:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1716) ServerSocketAppender doesn't work with 1.3.0+ In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 403 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1038 bytes Desc: not available URL: From logback-dev at qos.ch Mon Apr 17 17:26:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Mon, 17 Apr 2023 17:26:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1716) ServerSocketAppender doesn't work with 1.3.0+ In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 403 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: From logback-dev at qos.ch Tue Apr 18 14:36:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Tue, 18 Apr 2023 14:36:00 +0200 (CEST) Subject: [logback-dev] [JIRA] Updates for LOGBACK-1733: The size of the thread pool for ScheduledExecutor should be ajustable In-Reply-To: References: Message-ID: logback / LOGBACK-1733 [Open] The size of the thread pool for ScheduledExecutor should be ajustable ============================== Here's what changed in this issue in the last few minutes. This issue has been created View or comment on issue using this link https://jira.qos.ch/browse/LOGBACK-1733 ============================== Issue created ------------------------------ Ceki Gülcü created this issue on 18/Apr/23 14:24 Summary: The size of the thread pool for ScheduledExecutor should be ajustable Issue Type: Sub-task Affects Versions: 1.3.6, 1.4.6 Assignee: Ceki Gülcü Created: 18/Apr/23 14:24 Fix Versions: 1.3.7, 1.4.7 Priority: Major Reporter: Ceki Gülcü ============================== This message was sent by Atlassian Jira (v9.6.0#960000-sha1:a3ee8af) From logback-dev at qos.ch Wed Apr 19 20:20:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Wed, 19 Apr 2023 20:20:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1716) ServerSocketAppender doesn't work with 1.3.0+ In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 403 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: From logback-dev at qos.ch Wed Apr 19 20:20:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Wed, 19 Apr 2023 20:20:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1733) The size of the thread pool for ScheduledExecutor should be ajustable In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 312 bytes Desc: not available URL: From logback-dev at qos.ch Wed Apr 19 20:23:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Wed, 19 Apr 2023 20:23:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1733) The size of the thread pool for ScheduledExecutor should be ajustable In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 312 bytes Desc: not available URL: From logback-dev at qos.ch Thu Apr 20 01:31:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Thu, 20 Apr 2023 01:31:00 +0200 (CEST) Subject: [logback-dev] [JIRA] Updates for LOGBACK-1734: Add support for NDJSON / structured logging - popular log collector/shipper format In-Reply-To: References: Message-ID: logback / LOGBACK-1734 [Open] Add support for NDJSON / structured logging - popular log collector/shipper format ============================== Here's what changed in this issue in the last few minutes. This issue has been created This issue is now assigned to you. View or comment on issue using this link https://jira.qos.ch/browse/LOGBACK-1734 ============================== Issue created ------------------------------ Oleksandr Gavenko created this issue on 20/Apr/23 1:19 Summary: Add support for NDJSON / structured logging - popular log collector/shipper format Issue Type: Bug Assignee: Logback dev list Components: logback-classic Created: 20/Apr/23 1:19 Labels: layouts Priority: Major Reporter: Oleksandr Gavenko Description: Modern centralized logging assumes you work with structured data and even *beyond logger/message/exception* you enhance data with **MDC** (like httpUrl / httpMethod or customerEmail, etc) and with `keyValue` of SLF4J fluent API. Some tracing solution (OpenTelemetry/OpenTracing) might add additional dimension to data, via MDC, for example: https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/logger-mdc-instrumentation.md So: * logging data gets lots of independent dimensions (via MDC or keyValue) * plain text file ambiguity is no longer acceptable - who wants to deal with parsing multiline stack traces anymore? One of the popular structured format is NDJSON. http://ndjson.org/ tells that NDJSON is a file with valid JSON on each line. Popular file log collectors supports NDJSON parsers: * FluentBit https://docs.fluentbit.io/manual/pipeline/parsers/json * FileBeat (from Elastic) https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-filestream.html Today to log in NDJSON format you need to relay on 3rd party layout providers, like https://github.com/logfellow/logstash-logback-encoder I with Logback has support for NDJSON out of the box. https://github.com/qos-ch/logback-contrib/blob/master/json/classic/src/main/java/ch/qos/logback/contrib/json/classic/JsonLayout.java is not a solution: * it lacks customization: possibility to rename attributes * it lacks customization: possibility to flatten MDC * it lacks support for Markers * it lacks support for keyValue of fluent API * it lacks support for nanoseconds * it lacks auto-incremented sequence number - centralized logging solutions store events in random order, if a query returns several events withing millisecond (or nanosecond) - they will be presented in random order, not the original order! ============================== This message was sent by Atlassian Jira (v9.6.0#960000-sha1:a3ee8af) From logback-dev at qos.ch Thu Apr 20 04:12:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Thu, 20 Apr 2023 04:12:00 +0200 (CEST) Subject: [logback-dev] [JIRA] Updates for LOGBACK-1735: ILoggingEvent#getInstant should return `Instant.ofEpochMills(getTimeStamp())` instead of null for compatibility In-Reply-To: References: Message-ID: logback / LOGBACK-1735 [Open] ILoggingEvent#getInstant should return `Instant.ofEpochMills(getTimeStamp())` instead of null for compatibility ============================== Here's what changed in this issue in the last few minutes. This issue has been created This issue is now assigned to you. View or comment on issue using this link https://jira.qos.ch/browse/LOGBACK-1735 ============================== Issue created ------------------------------ wreulicke created this issue on 20/Apr/23 4:01 Summary: ILoggingEvent#getInstant should return `Instant.ofEpochMills(getTimeStamp())` instead of null for compatibility Issue Type: Improvement Affects Versions: 1.4.8 Assignee: Logback dev list Components: logback-classic Created: 20/Apr/23 4:01 Environment: In my case, the compatibility is broken in the following conditions.   - use logstash-logback-encoder 5.3   - use armeria-logback 1.23.1     -  this module is compiled with logback 1.2.x   - use logback 1.4.x   - logback config     ```                                                                                                 ```  The logstash-logback-encoder 7.3 calls `getInstant()` when logback 1.3 or higher, [here](https://github.com/logfellow/logstash-logback-encoder/blob/logstash-logback-encoder-7.3/src/main/java/net/logstash/logback/composite/loggingevent/LoggingEventFormattedTimestampJsonProvider.java#L30) But, armeria-logback has LoggingEventWrapper that extends logback's LoggingEvent. The LoggingEventWrapper lacks the implementation of `getInstant()` because it depends on logback 1.2 to keep compatibility. Therefore, logstash-logback-encoder are going to get `null` by default implementation of `getInstant` in ILoggingEvent. After that, logging is not working by NullPointerException. Priority: Major Reporter: wreulicke Description: `ILoggingEvent#getInstant()` is introduced in version 1.3. But, the default implementation returns null. I think this is the compatibility issue between 1.2.x ~ 1.3.x. So, to improve compatibility with 1.2 or prior, propose default implementation returns `Instant.ofEpochMills(getTimeStamp())`.       ============================== This message was sent by Atlassian Jira (v9.6.0#960000-sha1:a3ee8af) From logback-dev at qos.ch Thu Apr 20 06:23:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Thu, 20 Apr 2023 06:23:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1735) ILoggingEvent#getInstant should return `Instant.ofEpochMills(getTimeStamp())` instead of null for compatibility In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 799 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 460 bytes Desc: not available URL: From logback-dev at qos.ch Thu Apr 20 19:20:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Thu, 20 Apr 2023 19:20:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1734) Add support for NDJSON / structured logging - popular log collector/shipper format In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 375 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: From logback-dev at qos.ch Tue Apr 25 18:13:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Tue, 25 Apr 2023 18:13:00 +0200 (CEST) Subject: [logback-dev] [JIRA] Updates for LOGBACK-1736: Make OSGi service-loader requirement for spi.Configurator optional In-Reply-To: References: Message-ID: logback / LOGBACK-1736 [Open] Make OSGi service-loader requirement for spi.Configurator optional ============================== Here's what changed in this issue in the last few minutes. This issue has been created This issue is now assigned to you. View or comment on issue using this link https://jira.qos.ch/browse/LOGBACK-1736 ============================== Issue created ------------------------------ Hannes Wellmann created this issue on 25/Apr/23 18:02 Summary: Make OSGi service-loader requirement for spi.Configurator optional Issue Type: Sub-task Affects Versions: 1.3.7, 1.4.7 Assignee: Logback dev list Components: logback-classic Created: 25/Apr/23 18:02 Priority: Critical Reporter: Hannes Wellmann Description: For LOGBACK-1729 the OSGi Service Loader Mediator Manifest entries were enhanced to be able to load logback {{Configurator}} services provided by other OSGi bundles. Unintentionally this requirement was only specified with {{cardinality:=multiple}} and without {{{}resolution:=optional{}}}, which means that at least one bundle providing a {{Configurator}} service is required (but multiple are possible). But having no provided {{Configurator}} at all is also a valid scenario and the code is prepared for that. Therefore the corresponding Service Loader Mediator requirement should be marked as optional ({{{}resolution:=optional{}}}) in order to allow zero up to arbitrary many provided {{Configurator}} services{{{}.{}}} ============================== This message was sent by Atlassian Jira (v9.6.0#960000-sha1:a3ee8af) From logback-dev at qos.ch Tue Apr 25 18:36:00 2023 From: logback-dev at qos.ch (logback developers list) Date: Tue, 25 Apr 2023 18:36:00 +0200 (CEST) Subject: [logback-dev] [JIRA] (LOGBACK-1736) Make OSGi service-loader requirement for spi.Configurator optional In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 1084 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 3408 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 312 bytes Desc: not available URL: