Jump to content

log4j2 logger only prints to console, does not write to file in Minecraft 1.8.9?


Recommended Posts

Posted
  • Members
  •  0
  • 2 posts

Apache log4j2 logger prints to console, not to file when run on server side. The same logger if placed in client side logs to file as expected. This worked fine on 1.7.10 but when transitioned from 1.7.10 to 1.8.9, the logger no longer logs to file but prints to console instead.

the log4j2.xml is placed in the right folder(i.e src\main\resources) and works for other loggers.I don't understand why logger behaves one way in client side and other way in server side.

Anyone facing similar issue for logger from 1.7.10 to 1.8.9? Does this have anything to do with the bus deprecation for event registration. Any help is appreciated

GameLogger.java

public class GameLogger {
    
    public static GameLogger INSTANCE = new GameLogger();
    public static final Logger logger = LogManager.getLogger("MyGame");
    @SubscribeEvent
    public synchronized void onPlayerTick(final TickEvent.PlayerTickEvent tick) {
        if (tick.phase == Phase.END) {
            if (tick.player.isEntityAlive()) {    
                        logger.info("Logger is working");
                    }
                }
            }
        }

log4j2.xml

   

 <RollingRandomAccessFile name="StatsFile" fileName="logs/StatsFile-latest.log" filePattern="logs/StatsFile/%d{yyyy-MM-dd-HH}{GMT}-%i.log.gz">
                <PatternLayout pattern="%d{yyyy/MM/dd HH:mm:ss}{GMT}%msg%n" />
                <Policies>
                    <TimeBasedTriggeringPolicy />
                    <OnStartupTriggeringPolicy />
                </Policies>
            </RollingRandomAccessFile>
            
    <Logger level="info" name="MyGame" additivity="false">
                <AppenderRef ref="StatsFile" />
            </Logger>
            <Root level="all">
                <AppenderRef ref="FmlSysOut" level="INFO" />
                <AppenderRef ref="ServerGuiConsole" level="INFO" />
                <AppenderRef ref="FmlFile"/>
            </Root>

The logger works fine if i place it in separate client class with client tick logging. It prints to log file as expected, but for some reason does not do the same when placed on server sided class.

Posted

1.8.9 is no longer supported on this forum due to its age. Please update to a modern version of Minecraft to receive support.

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

  Reveal hidden contents

 

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.