반응형

실행되는 명령들의 log를 남겨보자.

 

Trace into...나 Trace over...를 선택한다.

 

Log Text에 아래와 같은 포맷을 지정한다.

0x{p:cip} {i:cip}

Maximum trace count를 적당히 지정한다.

로그 파일의 이름이나 위치를 바꾸고 싶다면 Log File... 버튼을 클릭한다. (특별히 바꾸고 싶지 않아도 지정은 해줘야 한다. 그렇지 않으면 로그 파일이 생성되지 않는다)

 

지정된 숫자 만큼 명령이 실행되고 로그 파일이 생성된다.

 

※ 참고

Values

Expressions

String Formatting

 

반응형
Posted by J-sean
:
반응형

에러나 예외 발생 기록을 남겨보자.

Application.RegisterLogCallback()는 deprecated 되었으므로 Application.logMessageReceived를 사용한다.

 

Cube를 하나 생성하고 스크립트(Move)를 추가한다.

 

Move 스크립트는 ESC키를 눌렀을때 Divide By Zero 예외가 발생한다.

 

메인 카메라에 Logger 스크립트를 추가한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class Logger : MonoBehaviour
{
    private System.IO.StreamWriter sw;
    public string logFileName = "log.txt";
 
    // Start is called before the first frame update
    void Start()
    {
        sw = new System.IO.StreamWriter(Application.persistentDataPath + "/" + logFileName);
        Debug.Log(Application.persistentDataPath + "/" + logFileName);
    }
 
    private void OnEnable()
    {
        Application.logMessageReceived += HandleLog;
    }
 
    private void OnDisable()
    {
        Application.logMessageReceived -= HandleLog;
    }
 
    void HandleLog(string logString, string stackTrace, LogType type)
    {
        sw.WriteLine("Logged at: " + System.DateTime.Now.ToString() + "\n"
            + "Log type: " + type + "\n"
            + "Log desc: " + logString + "\n"
            + "Trace: " + stackTrace
            );
    }
 
    private void OnDestroy()
    {
        sw.Close();
    }
}
 

 

위 내용을 Logger 스크립트에 작성한다.

 

 

실행하고 ESC키를 누른다. Console 창에 로그와 예외가 표시된다.

 

지정된 디렉토리에 로그 파일이 생성된다.

 

발생한 로그와 예외가 기록되어 있다.

 

반응형
Posted by J-sean
: