Struggling with logging
Options
Hey, I have been through the thread reporting a similar problem, but the solution there hasn't worked for me.
I am extending LoadBalancing, and able to log and control the logging level for every module except my own game server.
My log file is definitely being copied to the deploy directory and it is being read because I can change the log level for other modules. I am stumped here.
I am extending LoadBalancing, and able to log and control the logging level for every module except my own game server.
using ExitGames.Logging; using Lite; using Photon.LoadBalancing.GameServer; using Photon.SocketServer; using System; using System.Collections.Generic; using Server.Serialization; namespace Server { public class GameServer : GameApplication { private static ILogger logger = LogManager.GetCurrentClassLogger(); public GameServer() : base() { logger.Info("Game Server Started."); Console.WriteLine("adjsfkasdjfkasdfjasdf"); //Send plaintext logger.Info("your log message"); //Send an exception logger.Error("your log message", new Exception()); //Send a JSON object var items = new Dictionary<string, string>(); items.Add("key1", "value1"); items.Add("key2", "value2"); logger.Info(items); } protected override PeerBase CreateGamePeer(InitRequest initRequest) { return new GamePeer(initRequest, this); } #region GameCache Overrides #endregion } }
<?xml version="1.0" encoding="utf-8" ?> <log4net debug="false"> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %-30.30c{2} %m% [%t] [%x]%n" /> </layout> </appender> <!-- "normal" log file appender --> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> <file type="log4net.Util.PatternString" value="%property{Photon:ApplicationLogPath}\\%property{LogFileName}.log" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="1" /> <param name="MaximumFileSize" value="250MB" /> <param name="RollingStyle" value="Size" /> <param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> <!-- performance counter log file appender --> <appender name="CounterAppender" type="log4net.Appender.RollingFileAppender"> <file type="log4net.Util.PatternString" value="%property{Photon:ApplicationLogPath}\\%property{LogFileName}Counter.log" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="1" /> <param name="MaximumFileSize" value="1MB" /> <param name="RollingStyle" value="Size" /> <param name="StaticLogFileName" value="true" /> <param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d{ABSOLUTE} %m%n" /> </layout> </appender> <!-- logger --> <root> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="ConsoleAppender" /> </root> <logger name="Server.GameServer" additivity="false"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> <!-- operation data logger --> <!-- set level to DEBUG to enable operation data logging--> <logger name="OperationData" additivity="false"> <level value="DEBUG" /> <appender-ref ref="LogFileAppender" /> </logger> <logger name="Photon.SocketServer" additivity="false"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> <logger name="Photon.LoadBalancing" additivity="false"> <level value="DEBUG" /> <appender-ref ref="LogFileAppender" /> </logger> <logger name="Photon.LoadBalancing.LoadShedding" additivity="false"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> <logger name="Photon.LoadBalancing.LoadBalancing" additivity="false"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> <logger name="ExitGames.Messaging.Channels" additivity="false"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> <logger name="ExitGames.Diagnostics" additivity="false"> <level value="INFO" /> <appender-ref ref="LogFileAppender" /> </logger> <!-- performance counter logger --> <!-- set level to DEBUG to enable performance counter logging--> <logger name="PerformanceCounter" additivity="false"> <level value="INFO" /> <appender-ref ref="CounterAppender" /> </logger> </log4net>
My log file is definitely being copied to the deploy directory and it is being read because I can change the log level for other modules. I am stumped here.
0
Comments
-
I have found that the logging does infact work - for every class except for ones which extend from MasterApplication or GameApplication. Is there a reason for this?0
-
No, that sounds weird and is certainly not intended. I'll take a look. Thanks for reporting the issue!0