수정중인 페이지 입니다.
server | v5 switch to v4  

로깅

목차

If you are running a local Photon Server and noticed a bad event rate then this is most likely caused by logging. For instance, we noticed that enabling both Photon Server logging and Windows Defender may cause the event rate to slow down considerably. That is why we recommend disabling all virus scanners and firewalls when enabling Photon logging so you can have the expected events rate. You can re-enable the virus scanners and firewalls once you stop logging on Photon Servers.

프레임워크 로깅

Photon은 프레임워크 로깅을 위해 log4net을 사용합니다.

문서: https://logging.apache.org/log4net/

메인 화면으로
 

로그 파일과 위치

로그 파일에는 3가지의 유형이 있습니다:

관리되지 않는\ Photon 소켓 서버 로그

  • 내용: 관리되지 않는 "PhotonSocketServer.exe" 코어가 쓰게 됩니다. Photon의 시작/중지 시퀀스의 모든 상태 메시지와 네이티브 코어의 예외(예: Photon 자체의 버그, 유효하지 않은 클라이언트 데이터의 직렬화 오류 등)가 여기에 기록됩니다.
  • 이름: "Photon-{InstanceName}-Timestamp.log"
  • 로그 수준 환경 구성: n/a
  • 위치: 기본 값은 "/bin_WinXXX/log" 입니다. 로그 파일 위치를 바꾸시려면 "PhotonServer.config"에 있는 각각의 인스턴스 노드의 "LogFileLocation" 속성을 설정합니다. "LogFileLocation"은 절대 경로 또는 "PhotonSocketServer.exe"에 대한 상대 경로가 될 수 있습니다.

예제:


<Default
    MinimumTimeout="5000"
    MaximumTimeout="30000"
    LogFileLocation="..\MyLogFolder"
>

메인 화면으로
 

관리되는 CLR 로그

  • 내용: 애플리케이션을 호스팅하고 있는 관리되는 .NET 런타임에 의해서 작성됩니다. CLR의 모든 상태 메시지(예: 로드된 .NET 애플리케이션 & 어셈블리에 대한 정보)와 사용자 정의 .NET 애플리케이션에서 처리되지 않은 모든 예외가 기록됩니다.
  • 이름: "PhotonCLR.log"
  • 로그 수준 환경 구성: "/deploy/bin_WinXXX/Photon.local.log4net"에서 적절한 log4net appender를 구성합니다.
  • 위치: 기본값은 "/bin_WinXXX/log"입니다. 로그 파일 위치를 변경하시려면 "/deploy/bin_WinXXX/Photon.local.log4net"에서 적절한 log4net appender를 구성하세요. "PhotonServer.config"의 "LogFileLocation" 속성의 값을 포함하고 있는 "Photon:UnmanagedLogDirectory" 속성을 사용할 수 있습니다.

예제:


<appender name="A1" type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString" value="%property{Photon:UnmanagedLogDirectory}\\PhotonCLR.log" />            
    <!-- snip -->
</appender>

메인 화면으로
 

애플리케이션 로그

  • 내용: Photon에 의해 호스팅 되는 각 .NET 애플리케이션은 자체 애플리케이션 로그 파일을 씁니다. 여기에는 애플리케이션에서 발생하는 모든 디버그 출력을 포함하고 있습니다.
  • 이름: "{MyApplication}.log".
  • 로그 수준 환경 구성: "/deploy/{MyApplication}/bin/log4net.config"에서 적절한 log4net appender를 구성할 수 있습니다.
  • 위치: 기본값은 "/deploy/log"입니다. 로그 파일 위치를 구성하려면 "/deploy/{MyApplication}/bin/log4net.config"에서 적절한 log4net appender를 구성하세요. 애플리케이션의 Setup() 메소드 내에서 변경할 수 있는 기본값 별로 "/deploy/log"로 설정하는 "Photon:ApplicationLogPath" 속성을 사용할 수 있습니다.
protected override void Setup()
{
    // log4net
    log4net.GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(this.ApplicationRootPath, "log");
    var configFileInfo = new FileInfo(Path.Combine(this.BinaryPath, "log4net.config"));
    if (configFileInfo.Exists)
    {
        LogManager.SetLoggerFactory(Log4NetLoggerFactory.Instance);
        XmlConfigurator.ConfigureAndWatch(configFileInfo);
    }
}
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true" update="Overwrite"> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" value="%property{Photon:ApplicationLogPath}\\{MyApplication}.log" />    
        <!-- snip --> 
    </appender>
    <root>
        <!-- <level value="INFO" /> -->
        <!-- <level value="DEBUG" /> -->
        <level value="ALL" />
        <appender-ref ref="LogFileAppender" /> 
    </root>
</log4net>

메인 화면으로
 

자주 문의하는 질문


기술문서 TOP으로 돌아가기