게임로그 공백처리됨

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

public void InputLogs(string type, string funcname, string[] message)
    {
        if (PlayerManager.instance.testmode)
            return;

        BackendReturnObject bro = Backend.BMember.IsAccessTokenAlive();

        if (bro.IsSuccess())
        {
            Param param = new Param();
            for(int i =0; i<message.Length;i++)
            {
                param.Add(string.Format("{0}.{1}",i,funcname), message[i]);
            }
            Backend.GameLog.InsertLog(type, param);
            Debug.Log("InputLogs() : 성공");
        }
        else
        {
            Debug.Log("InputLogs() : 실패 , 로그인 안되어있음");
        }
    }

위 코드와 같이 param에 로그를 남길 메세지를 여러개 추가하고 InsertLog를 하면 게임로그에 맨 위 사진처럼
공백처리가 되는데 게임로그에 넣는 param에는 오직 하나의 요소만 넣어야 하나요? 여러개 요소를 넣으면 저렇게 공백처리가 되는건가요?

안녕하세요 개발자님,
param 에 넣은 데이터들 전부가 보여지는 것이 정상입니다.
param 안에 올바른 데이터 값이 있는지 param.GetJson().ToString() 등을 이용하여 확인해 주세요.
감사합니다. :slight_smile:

해봤더니 {}로 출력됩니다. 그래서 파라미터로 들어오는 값인 funcname과 message 내용들을 확인해 봤는데 값은 정상적으로 들어옵니다.

지금 0.TestFunction 식으로 넘어가는 것 같은데, param 규칙이 있으니…

param.Add(string.Format("{0}.{1}",i,funcname), message[i]);
이걸

param.Add(string.Format("{0}{1}",funcname,i), message[i]);
식으로 바꾸셔서

TestFunction0 식의 포맷을 했을때도 동일한지 확인 해보셔요.
경험상 Key를 int 로 했더니 안들어가더군요.

image
image

겪었던 샘플

  • param 초기화
  • Ending은 8개
  • foreach를 돌면서 Add를 했더니, Add한 후에 Count 0

겪었던 예시
var param = new Param {{“Tianya”, 2}, {“3”, 3}};
// Tianya는 들어가는데, 3은 안들어갔었네요.

좋아요 1

Param에 데이터 삽입할 때에는 아래 개발자 문서에서 안내된 바와 같이 규칙이 존재합니다.
규칙을 따르지 않아서 발생한 현상이니 개발자 문서를 확인하여 이용해 주세요.
감사합니다.

감사합니다! 해결됐습니다.

좋아요 1

감사합니다! 덕분에 해결 됐습니다!

좋아요 2