# DuplicateMessageFilter in logback not available with logback version 1.2.3 used by Ignition?

**URL:** <https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [August 10, 2023, 10:12am UTC](https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686 "2023-08-10T10:12:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [August 10, 2023, 10:12am UTC](https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686/1 "2023-08-10T10:12:02Z")

</div>

@paul-griffith, @Kevin.Herron  
is there any plan to upgrade Ignition **logback 1.2.3** to **logback 1.3.x or 1.4.x**?

I try to add a builtin **DuplicateMessageFilter** to avoid **some repetitive logs** , but it has no effect and seem to be available only from logback 1.3.0 😭

**Ignition/data/logback.xml**

```auto
<configuration> 
    ...
    <turboFilter 
      class="ch.qos.logback.classic.turbo.DuplicateMessageFilter">
        <AllowedRepetitions>3</AllowedRepetitions>
		<CacheSize>100</CacheSize>
    </turboFilter>

</configuration>

```

[https://logback.qos.ch/manual/filters.html#DuplicateMessageFilter](https://logback.qos.ch/manual/filters.html#DuplicateMessageFilter)

> **[DuplicateMessageFilter (Logback-Parent 1.3.0 API)](https://logback.qos.ch/apidocs/ch/qos/logback/classic/turbo/DuplicateMessageFilter.html)**
>
> declaration: package: ch.qos.logback.classic.turbo, class: DuplicateMessageFilter

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [August 10, 2023, 10:55am UTC](https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686/2 "2023-08-10T10:55:15Z")

</div>

🤔 seems to be available in **logback-classic-1.2.3.jar** used by Ignition 8.1

the issue must be relative to anything else ...

```auto
	loggerName = "ESSAI"
	log = system.util.getLogger(loggerName)
	for i in range(50):
		log.info("message repetitif")

```

produce all the message in the gateway logs.

No special log from logback at gateway restart

```auto
STATUS | wrapper | 2023/08/10 11:49:08 | --> Wrapper Started as Service
STATUS | wrapper | 2023/08/10 11:49:08 | Java Service Wrapper Standard Edition 64-bit 3.5.42
STATUS | wrapper | 2023/08/10 11:49:08 | Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
STATUS | wrapper | 2023/08/10 11:49:08 | http://wrapper.tanukisoftware.com
STATUS | wrapper | 2023/08/10 11:49:08 | Licensed to Inductive Automation for Inductive Automation
STATUS | wrapper | 2023/08/10 11:49:08 | 
STATUS | wrapper | 2023/08/10 11:49:08 | Launching a JVM...
INFO | jvm 1 | 2023/08/10 11:49:09 | WrapperManager: Initializing...
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,357 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [data\\logback.xml] at [file:/C:/Program%20Files/Inductive%20Automation/Ignition/data/logback.xml]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,437 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,440 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SysoutAppender]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,444 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,467 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [com.inductiveautomation.logging.SQLiteAppender]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,475 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DB]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,638 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@236f7bd2 - Driver name=SQLite JDBC
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,638 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@236f7bd2 - Driver version=3.39.2.0
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,638 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@236f7bd2 - supportsGetGeneratedKeys=true
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,674 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,676 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SysoutAsync]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,676 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SysoutAppender] to ch.qos.logback.classic.AsyncAppender[SysoutAsync]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,676 |-INFO in ch.qos.logback.classic.AsyncAppender[SysoutAsync] - Attaching appender named [SysoutAppender] to AsyncAppender.
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,676 |-INFO in ch.qos.logback.classic.AsyncAppender[SysoutAsync] - Setting discardingThreshold to 51
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,677 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,677 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DBAsync]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,678 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DB] to ch.qos.logback.classic.AsyncAppender[DBAsync]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,678 |-INFO in ch.qos.logback.classic.AsyncAppender[DBAsync] - Attaching appender named [DB] to AsyncAppender.
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,678 |-INFO in ch.qos.logback.classic.AsyncAppender[DBAsync] - Setting discardingThreshold to 51
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,678 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,678 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SysoutAsync] to Logger[ROOT]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,678 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DBAsync] to Logger[ROOT]
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,681 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,682 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3180ab5d - Registering current configuration as safe fallback point
INFO | jvm 1 | 2023/08/10 11:49:09 | 11:49:09,721 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@4deea449 - Propagating INFO level on Logger[ROOT] onto the JUL framework
INFO | jvm 1 | 2023/08/10 11:49:09 | W [WebResourceManagerImpl] [09:49:09]: Unable to read "gateway.metroKeystoreAlias" gateway.xml property. Assuming metro keystore alias is: metro-key 
INFO | jvm 1 | 2023/08/10 11:49:10 | I [g.WebServerManager] [09:49:09]: Starting setup 
INFO | jvm 1 | 2023/08/10 11:49:10 | I [g.WebServerManager] [09:49:09]: Setup complete 
INFO | jvm 1 | 2023/08/10 11:49:10 | I [g.WebServerManager] [09:49:10]: Starting up 

```

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [August 28, 2023, 3:43pm UTC](https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686/3 "2023-08-28T15:43:49Z")

</div>

has anyone made this kind of filter work?

> [@mazeyrat](#):
>
> `ch.qos.logback.classic.turbo.DuplicateMessageFilter`

---

<div class="post-metadata">

**Author:** ![Bartosz\_Sobieraj](https://avatars.discourse-cdn.com/v4/letter/b/cc9497/32.png) [@Bartosz\_Sobieraj](https://forum.inductiveautomation.com/u/Bartosz_Sobieraj)\
**Post date:** [May 23, 2024, 12:35pm UTC](https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686/4 "2024-05-23T12:35:50Z")

</div>

Did you solve the issue with DuplicateMessageFillter? Im facing same issue and wondering if someone finally find the solution.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [May 23, 2024, 2:39pm UTC](https://forum.inductiveautomation.com/t/duplicatemessagefilter-in-logback-not-available-with-logback-version-1-2-3-used-by-ignition/77686/5 "2024-05-23T14:39:44Z")

</div>

No. I have not run some test with the last version of ignition. Logback has been upgraded since but I don't known if it change anything for this use case.
