コード例 #1
0
    private void ConfigureAppenders()
    {
        PatternLayout layout = new PatternLayout();

        layout.ConversionPattern = "%date [%thread] %-5level %logger - %message%n";
        layout.ActivateOptions();

        ValionLogAppender logAppender = new ValionLogAppender();

        logAppender.MaximumEntries = 600;
        logAppender.Threshold      = Level.Debug;
        logAppender.Layout         = layout;
        logAppender.ActivateOptions();

        OSType osType = GetOperatingSystem();

        if (osType == OSType.WebPlayer)
        {
            UnityEngine.Debug.Log("Detected Web-Player, only using appended logger");
            BasicConfigurator.Configure(logAppender);
            return;
        }

        ConsoleAppender consoleAppener = new ConsoleAppender();

        consoleAppener.Layout    = layout;
        consoleAppener.Threshold = Level.Debug;
        consoleAppener.Target    = ConsoleAppender.ConsoleOut;
        consoleAppener.ActivateOptions();

#if UNITY_WEBPLAYER
        BasicConfigurator.Configure(logAppender, consoleAppener);
#else
        PatternLayout fileLayout = new PatternLayout();
        fileLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%n";
        fileLayout.ActivateOptions();

        RollingFileAppender fileAppender = new RollingFileAppender();
        fileAppender.AppendToFile       = true;
        fileAppender.MaxFileSize        = 2048 * 1024;
        fileAppender.MaxSizeRollBackups = 10;
        fileAppender.RollingStyle       = RollingFileAppender.RollingMode.Composite;
        fileAppender.Threshold          = Level.Debug;
        fileAppender.File   = GetLogDirectory(osType) + "/log.txt";
        fileAppender.Layout = fileLayout;
        fileAppender.PreserveLogFileNameExtension = true;
        fileAppender.ImmediateFlush = true;
        fileAppender.ActivateOptions();

        UnityEngine.Debug.Log("Detected " + osType + ", using file Logging: " + fileAppender.File);
        BasicConfigurator.Configure(fileAppender, logAppender, consoleAppener);
#endif
    }
コード例 #2
0
 public ValionLogAppender GetAppender ()
 {
   if (logAppender == null)
   {
     Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository ();
     IAppender[] appenders = hierarchy.GetAppenders ();
     foreach (IAppender appender in appenders)
     {
       if (appender is ValionLogAppender)
       {
         logAppender = (ValionLogAppender)appender;
         break;
       }
     }
   }
   return logAppender;
 }
コード例 #3
0
 public ValionLogAppender GetAppender()
 {
     if (logAppender == null)
     {
         Hierarchy   hierarchy = (Hierarchy)LogManager.GetRepository();
         IAppender[] appenders = hierarchy.GetAppenders();
         foreach (IAppender appender in appenders)
         {
             if (appender is ValionLogAppender)
             {
                 logAppender = (ValionLogAppender)appender;
                 break;
             }
         }
     }
     return(logAppender);
 }
コード例 #4
0
        public void DrawLogWindow(int windowId)
        {
            buffer.Remove(0, buffer.Length);

            ValionLogAppender logAppender = GetAppender();

            LoggingEvent[] events = (logAppender == null) ? new LoggingEvent[0] : logAppender.GetEvents();
            foreach (LoggingEvent ev in events)
            {
                buffer.Append(ev.RenderedMessage);
                buffer.AppendLine();
            }

            float textHeight = Math.Max(logWindowPosition.height - 25, events.Length * 12);
            float textWidth  = logWindowPosition.width - 10;

            scrollPosition = GUI.BeginScrollView(new Rect(10, 20, textWidth, logWindowPosition.height - 25),
                                                 scrollPosition, new Rect(0, 0, textWidth, textHeight));
            GUI.TextArea(new Rect(0, 20, textWidth, textHeight), buffer.ToString());
            GUI.EndScrollView();

            GUI.DragWindow();
        }
コード例 #5
0
ファイル: ValionLog.cs プロジェクト: kimkidae/UnityMinaClient
  private void ConfigureAppenders ()
  {
    PatternLayout layout = new PatternLayout();
    layout.ConversionPattern = "%date [%thread] %-5level %logger - %message%n";
    layout.ActivateOptions();

    ValionLogAppender logAppender = new ValionLogAppender ();
    logAppender.MaximumEntries = 600;
    logAppender.Threshold = Level.Debug;
    logAppender.Layout = layout;
    logAppender.ActivateOptions();
    
    OSType osType = GetOperatingSystem ();
    if (osType == OSType.WebPlayer)
    {
      UnityEngine.Debug.Log ("Detected Web-Player, only using appended logger");
      BasicConfigurator.Configure(logAppender);
      return;
    }

    ConsoleAppender consoleAppener = new ConsoleAppender();
    consoleAppener.Layout = layout;
    consoleAppener.Threshold = Level.Debug;
    consoleAppener.Target = ConsoleAppender.ConsoleOut; 
    consoleAppener.ActivateOptions();

#if UNITY_WEBPLAYER
    BasicConfigurator.Configure (logAppender, consoleAppener);
#else
    PatternLayout fileLayout = new PatternLayout ();
    fileLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%n";
    fileLayout.ActivateOptions ();

    RollingFileAppender fileAppender = new RollingFileAppender ();
    fileAppender.AppendToFile = true;
    fileAppender.MaxFileSize = 2048 * 1024;
    fileAppender.MaxSizeRollBackups = 10;
    fileAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
    fileAppender.Threshold = Level.Debug;
    fileAppender.File = GetLogDirectory(osType) + "/log.txt";
    fileAppender.Layout = fileLayout;
    fileAppender.PreserveLogFileNameExtension = true;
    fileAppender.ImmediateFlush = true;
    fileAppender.ActivateOptions();

    UnityEngine.Debug.Log ("Detected " + osType + ", using file Logging: " + fileAppender.File);
    BasicConfigurator.Configure (fileAppender, logAppender, consoleAppener);
#endif
  }