Modifying the logger settings

Greetings
I have many devices that are WIFI connected to ignition.
These are modbus devices
When they are powered off the log fills up with these entries from this logger drivers.ModbusDriver2
These are WARN levels . This makes it hard to find WARN levels that I care about.
The server is routinely booted on weekends by IT.
Everytime this happens I have to go to the logger settings and change the level of this logger and its sub loggers to false.
How can I make this permanent.
I have read the documentation about the logback.XML file . it is not clear to me how I would modify the current settings.
The below code seems like it would work?????? IF so what is the FILE for the ref file??

<logger name="drivers.ModbusDriver2" level="WARN" additivity="false">
  	  <appender-ref ref="FILE"/>
	</logger>

Any advice is appreciated
thanks
Tim

Kindling has a special interactive editor for logback.xml files, if you want to use that.

The configuration syntax is somewhat opaquely described here: Chapter 3: Configuration

In this case 'appender-ref FILE' is referring to an <appender> with a name attribute higher in the file.

Here is an example of a FILE appender. As Paul states, it needs to be higher up in the file, around with the other appenders.

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
	<file>C:\\tmp\\RedundancyLogs\\redundancy-backup.log</file>
	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- Sets policy for generating and deleting log files -->
	<fileNamePattern>C:\\tmp\\RedundancyLogs\\redundancy-backup.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
	<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
		<maxFileSize>20MB</maxFileSize> <!-- Max file size -->
	</timeBasedFileNamingAndTriggeringPolicy>
	<maxHistory>10</maxHistory> <!-- Max 20 files -->
	</rollingPolicy>
	<encoder>
	<!-- https://logback.qos.ch/manual/layouts.html#conversionWord -->
	<pattern>%.-1p [%-30c{1}] [%d{MM:dd:YYYY HH:mm:ss.SSS}]: %m %X%n</pattern> <!-- Format of the logs -->
	</encoder>
</appender>
<?xml version="1.0" encoding="UTF-8"?>
<!-- For assistance related to logback-translator or configuration  -->
<!-- files in general, please contact the logback user mailing list -->
<!-- at http://www.qos.ch/mailman/listinfo/logback-user             -->
<!--                                                                -->
<!-- For professional support please see                            -->
<!--    http://www.qos.ch/shop/products/professionalSupport         -->
<!--                                                                -->
<configuration debug="true" scan="true" scanPeriod="30 seconds">
   <appender name="SysoutAppender" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
         <pattern>%.-1p [%-30c{1}] [%d{HH:mm:ss,SSS}]: %m %X%n</pattern>
      </encoder>
   </appender>
   <appender name="DB" class="com.inductiveautomation.logging.SQLiteAppender">
      <dir>logs</dir>
      <!--
      Maintenance Settings
      entryLimit: The maximum number of entries in the database. However, at any given time, there may be more than this number, due to how cleanup works.
      maxEventsPerMaintenance: The number of event that can happen before a maintenance cycle occurs.
      minTimeBetweenMaintenance: The minimum time (max frequency) between maintenance events. Takes precedent over max events.
      vacuumFrequency: The number of maintenance cycles before a "vacuum" is performed, to recover disk space.

      On disk, most log events are between 600-800 bytes.
    <entryLimit>50000</entryLimit>
    <maxEventsPerMaintenance>5000</maxEventsPerMaintenance>
    <minTimeBetweenMaintenance>60000</minTimeBetweenMaintenance>
    <vacuumFrequency>3</vacuumFrequency>
    -->
   </appender>
   <appender name="SysoutAsync" class="ch.qos.logback.classic.AsyncAppender" queueSize="1000" discardingThreshold="0">
      <appender-ref ref="SysoutAppender" />
   </appender>
   <appender name="DBAsync" class="ch.qos.logback.classic.AsyncAppender" queueSize="100000" discardingThreshold="0">
      <appender-ref ref="DB" />
   </appender>
   <root level="INFO">
      <appender-ref ref="SysoutAsync" />
      <appender-ref ref="DBAsync" />
   </root>
   <!-- Custom Logging Profiles -->
   <!-- Directory for logs -->
   <property name="LOG_HOME" value="logs" />
   <!-- Energy Monitoring Logging -->
   <appender name="EnergyMonitor" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
         <!-- Sets policy for generating and deleting log files -->
         <fileNamePattern>${LOG_HOME}\EnergyMonitor\Energy_%d{yyyy-MM-dd}_%i.log</fileNamePattern>
         <maxFileSize>10MB</maxFileSize>
         <maxHistory>60</maxHistory>
         <totalSizeCap>10GB</totalSizeCap>
      </rollingPolicy>
      <encoder>
         <pattern>%-8level [%-30.50logger] [%date{dd MMM yyyy;HH:mm:ss.SSS, America/New_York}] %msg%n</pattern>
         <!-- Format of the logs -->
      </encoder>
   </appender>
   <logger name="MeteringData" additivity="false">
      <appender-ref ref="EnergyMonitor" />
   </logger> 
</configuration>

You will need to add a appender for the logger to reference. I also suggest adding in 'scanPeriod="30 seconds"' so that you can make changes without restarting the Ignition service.

FYI - Chapter 4: Appenders

In versions prior to 1.1.7, this document mentioned a component called SizeAndTimeBasedFNATP. However, given that SizeAndTimeBasedRollingPolicy offers a simpler configuration structure, we no longer document SizeAndTimeBasedFNATP. Moreover, in logback version 1.5.8, SizeAndTimeBasedFNATP was renamed as SizeAndTimeBasedFileNamingAndTriggeringPolicy. Thus, earlier configuration files using SizeAndTimeBasedFNATP will no longer work.

Ah ok. Time to go update my logback config file.