Last Updated: 3/2/2022, 10:55:48 AM

# Log Viewer

# Overview

Log Viewer is a service that allows you to review the traffic logs from AccelByte services. Every user, player, or application’s interaction with the endpoints in our platform is collected and stored in logs by the Log Viewer service, and those logs can be accessed in the Admin Portal. Each log contains detailed information about the event that generated it, which can help you identify problems while troubleshooting.

# Permissions

Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to access the log viewer in the Admin Portal.

Usage Permissions Action
Query Log ADMIN:NAMESPACE:{namespace}:LOG READ

Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.

# Viewing Service Logs in the Admin Portal

# View a Log

  1. In the Admin Portal, choose the namespace you want to open. The log viewer sits outside of namespaces in the Platform Configurations menu, so all logs can theoretically be accessed from all namespaces. In practice when you log viewer, only logs from namespaces you have access to will be visible.

    log-viewer

  2. Open the Platform Configurations menu at the top-right corner of the screen, then click Log Viewer.

    log-viewer

  3. On the Log Viewer page, you can view every log from every namespace you have access to. You can browse the list if you’re looking for a log from a very recent event, or filters available on the left side of the page to search for particular logs. The available filters are as follows:

    log-viewer

    • Request Time: filters the search by when a request was made. You can define the time range of the search by inputting the start and end times in UTC format in the From and To fields, respectively. The maximum period of time you can search for is 30 days.

    TIP

    By default, any log search will be restricted to results from the previous hour before you opened the Log Viewer page. If you want to search for older logs, you can input an earlier time into the From field.

    • Log Type: filters the search by type of log. There are currently two types of logs: REST and WebSocket. If you choose to filter by WebSocket logs, you can also use WebSocket Specific Filters.

    • Show Internal Calls: toggle this filter to include internal calls in the search. An internal call is a record that doesn’t provide a value to the user, such as a health check or revocation list. This filter is toggled to include internal calls by default. .

    • General filters:

      • Namespace: limits the search to a specific namespace. If left blank, the logs returned by your search will come from every namespace to which you have access.

      • Service Name: limits the search to a specific service. To use this filter, type the name of the desired service into the box that appears. The service names must be entered as per the following table:

        Service Name
        Service Service Name
        Achievements justice-achievement-service
        Analytics analytic
        Augment justice-augment-service
        Basic justice-basic-service
        Build Info justice-buildinfo-service
        Cloud Storage justice-cloud-storage
        Cloud Save justice-cloudsave-service
        Differ justice-differ-service
        Dedicated Server Artifact Manager justice-ds-artifact-manager
        Dedicated Server Hub justice-ds-hub-service
        Dedicated Server Log Manager justice-ds-log-manager-service
        Dedicated Server Upload justice-ds-upload-service
        DSM Controller justice-dsm-controller-service
        Event Log justice-event-log-service
        GDPR justice-gdpr-service
        Groups justice-group-service
        IAM justice-iam-service
        Leaderboards justice-leaderboard-service
        Legal justice-legal-service
        Lobby justice-lobby-server
        Log justice-log-service
        Matchmaking justice-matchmaking
        Platform justice-platform-service
        QOS Manager justice-qos-manager-service
        QOS justice-qos-service
        Reporting justice-reporting-service
        Season Pass justice-seasonpass-service
        Session Browser justice-session-browser-service
        Social justice-social-service
        Statistics justice-statistic-service
        Turn Manager justice-turn-manager-service
        User Generated Content (UGC) justice-ugc-service
      • User ID: filters the search by a particular user or player’s activity. To use this filter, type the User ID of the desired user or player into the box that appears.

      • Client ID: filters the search by a particular application’s activity. To use this filter, type the Client ID of the desired application into the box that appears.

      • Request Method: filters the search by a particular request method. To use this filter, select from the following options in the dropdown menu:

        Request Method
        Request Method
        GET
        PUT
        DELETE
        POST
        PATCH
      • Response Status Code: filters the search by a specific response status code. To use this filter, select from the following options in the dropdown menu:

        Response Status Code
        Response Status Code
        200 OK
        201 Created
        202 Accepted
        204 No Content
        302 Found
        307 Temporary Redirect
        400 Bad Request
        401 Unauthorized
        403 Forbidden
        404 Not Found
        405 Method Not Allowed
        406 Not Acceptable
        408 Request Timeout
        409 Conflict
        412 Precondition Failed
        413 Payload Too Large
        415 Unsupported Media Type
        422 Unprocessable Entity
        429 Too Many Requests
        500 Internal Server Error
        502 Bad Gateway
        503 Service Unavailable
        504 Gateway Timeout
      • Path: filter to only return logs from a particular file path, for example /platform/admin. To use this filter, select the Path checkbox and type the desired path in the box that appears.

      • Source IP: filters the search by a particular IP address. To use this filter, type the desired IP address in the box that appears.

      • Trace ID: filters the search by a particular trace ID. To use this filter, type the desired ID into the box that appears.

        TIP

        The trace ID of a request is found in its Response Header.

      • Referrer: filters the search by a particular referrer from which the log was generated. To use this filter, type the web address of the referrer into the box that appears.

      • Response Duration: filters the search by logs with a specific response time. You can use this filter to search for logs with notably long or short response times. To use this filter, select Duration Option and choose from the following subfields:

        Response Duration
        Response Duration
        Less Than
        More Than
        Between

        If you selected Less Than or More Than, type the desired amount of time in milliseconds in the Duration field. Typing 100 would return logs with response times shorter or longer than 100 milliseconds, for example. If you selected Between, type the shortest response time you want to return in the Minimum Time field, and the longest response time you want to return in the Maximum Time field. All of the response times of the returned logs will fall within the given range.

    • WebSocket Specific Filters:

      • Connection ID to filter logs based on the WebSocket Connection ID of a particular user.

        NOTE

        A user or player’s WebSocket Connection ID will change each time they disconnect and reconnect to our platform.

      • Session ID: filter to filter logs based on the Session ID of a particular user or player’s session.

      • Connection Stage: filters the search by connection stage. To use this filter, select from the following options in the dropdown menu:

        Connection Stage
        Connection Stage
        Connect
        Disconnect
        Receive
        Send
      • Close Code filters the search by a particular close code. To use this filter, type the desired close code into the box that appears. The close code must be entered as a numerical value, as per the table below:

        Close Code
        Close Code Description
        4000 disconnectCloseCode
        4001 disconnectTokenRevokedCode
        4002 disconnectServerClosedCode
      • Message Type: filters the search based on message type. To use this filter, type the desired message type into the box that appears. The message type must be entered as per the following:

        Message Type
        Message Type
        partyInfoRequest
        partyInfoResponse
        partyCreateRequest
        partyCreateResponse
        partyLeaveRequest
        partyLeaveResponse
        partyLeaveNotif
        partyInviteRequest
        partyInviteResponse
        partyInviteNotif
        partyGetInvitedNotif
        partyJoinRequest
        partyJoinResponse
        partyJoinNotif
        partyRejectRequest
        partyRejectResponse
        partyRejectNotif
        partyKickRequest
        partyKickResponse
        partyKickNotif
        personalChatRequest
        personalChatResponse
        personalChatNotif
        partyChatRequest
        partyChatResponse
        partyChatNotif
        personalChatHistoryRequest
        personalChatHistoryResponse
        partyPromoteLeaderRequest
        partyPromoteLeaderResponse
        partyGenerateCodeRequest
        partyGenerateCodeResponse
        partyGetCodeRequest
        partyGetCodeResponse
        partyDeleteCodeRequest
        partyDeleteCodeResponse
        partyJoinViaCodeRequest
        partyJoinViaCodeResponse
        partySendNotifRequest
        partySendNotifResponse
        partyNotif
        friendsStatusRequest
        friendsStatusResponse
        setUserStatusRequest
        setUserStatusResponse
        userStatusNotif
        clientResetRequest
        messageNotif
        startMatchmakingRequest
        startMatchmakingResponse
        cancelMatchmakingRequest
        cancelMatchmakingResponse
        matchmakingNotif
        setReadyConsentRequest
        setReadyConsentResponse
        setReadyConsentNotif
        rematchmakingNotif
        requestFriendsRequest
        requestFriendsResponse
        requestFriendsNotif
        listIncomingFriendsRequest
        listIncomingFriendsResponse
        listOutgoingFriendsRequest
        listOutgoingFriendsResponse
        acceptFriendsRequest
        acceptFriendsResponse
        acceptFriendsNotif
        rejectFriendsRequest
        rejectFriendsNotif
        rejectFriendsResponse
        cancelFriendsRequest
        cancelFriendsResponse
        cancelFriendsNotif
        unfriendRequest
        unfriendResponse
        unfriendNotif
        listOfFriendsRequest
        listOfFriendsResponse
        getFriendshipStatusRequest
        getFriendshipStatusResponse
        blockPlayerRequest
        blockPlayerResponse
        blockPlayerNotif
        unblockPlayerRequest
        unblockPlayerResponse
        unblockPlayerNotif
        getBlockedPlayerRequest
        getBlockedPlayerResponse
        createDSRequest
        createDSResponse
        waitForDSRequest
        claimDSRequest
        notifyDSRequest
        dsNotif
        systemComponentsStatus
        partyDataUpdateNotif
        joinDefaultChannelRequest
        joinDefaultChannelResponse
        userBannedNotification
        userUnbannedNotification
        exitAllChannel
        sendChannelChatRequest
        sendChannelChatResponse
        channelChatNotif
        setSessionAttributeRequest
        setSessionAttributeResponse
        getSessionAttributeRequest
        getSessionAttributeResponse
        getAllSessionAttributeRequest
        getAllSessionAttributeResponse
        signalingP2PNotif
        userMetricRequest
        userMetricResponse
        sendMatchResultNotif
      • Message ID: filters the search by a particular Message ID.

    After selecting your filters, click the Apply Filter button to begin your search.

  4. Select a log file to expand its contents.

    log-viewer

    In the log’s Details tab, you can see information about the activity that generated that particular log.

    log-viewer

    Under the Request Body (REST)/Request Message (WebSocket) tab, you can see the request bodies for the action generated in the log.

    log-viewer

    Under the Response Body (REST)/Response Message (WebSocket) tab, you can see the response to that action.

    log-viewer