

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Messaggi del server di registrazione (server personalizzati)
<a name="logging-server-messages-custom"></a>

È possibile acquisire messaggi server personalizzati dai server Amazon GameLift Servers personalizzati in file di registro.

**Importante**  
C'è un limite alla dimensione di un file di registro per sessione di gioco (vedi [Amazon GameLift Serversendpoint e quote](https://docs.aws.amazon.com/general/latest/gr/gamelift.html) in). *Riferimenti generali di AWS* Al termine di una sessione di gioco, Amazon GameLift Servers carica i log del server su Amazon Simple Storage Service (Amazon S3). Amazon GameLift Serversnon caricherà log che superano il limite. I log possono crescere molto rapidamente e superare il limite di dimensione. È necessario monitorare i log e limitare l'output dei log ai soli messaggi necessari.

## Configurazione della registrazione per server personalizzati
<a name="configuring-logging-for-custom-servers"></a>

Con i server Amazon GameLift Servers personalizzati, è possibile scrivere il proprio codice per eseguire la registrazione, che viene configurato come parte della configurazione del processo del server. Amazon GameLift Serversutilizza la tua configurazione di registrazione per identificare i file che deve caricare su S3 alla fine di ogni sessione di gioco.

Le seguenti istruzioni mostrano come configurare la registrazione utilizzando esempi di codice semplificati:

------
#### [ C\+\+ ]

**Per configurare la registrazione (C\+\+)**

1. Crea un vettore di stringhe che siano percorsi di directory verso i file di registro del server di gioco.

   ```
   std::string serverLog("serverOut.log");        // Example server log file
   std::vector<std::string> logPaths;
   logPaths.push_back(serverLog);
   ```

1. Fornisci il tuo vettore come immagine [LogParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-log)del tuo oggetto. [ProcessParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-process)

   ```
   Aws::GameLift::Server::ProcessParameters processReadyParameter = Aws::GameLift::Server::ProcessParameters(
       std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
       std::bind(&Server::onProcessTerminate, this),
       std::bind(&Server::OnHealthCheck, this),
       std::bind(&Server::OnUpdateGameSession, this),
       listenPort,
       Aws::GameLift::Server::LogParameters(logPaths));
   ```

1. Fornisci l'[ProcessParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-process)oggetto quando chiami [ProcessReady().](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processready)

   ```
   Aws::GameLift::GenericOutcome outcome = 
      Aws::GameLift::Server::ProcessReady(processReadyParameter);
   ```

Per un esempio più completo, vedi[ProcessReady()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processready).

------
#### [ C\# ]

**Per configurare la registrazione (C\#)**

1. Crea un elenco di stringhe che sono percorsi di directory verso i file di registro del server di gioco.

   ```
   List<string> logPaths = new List<string>();
   logPaths.Add("C:\\game\\serverOut.txt");     // Example of a log file that the game server writes
   ```

1. Fornisci la tua lista come [ProcessParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-process)oggetto. [LogParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-log)

   ```
   var processReadyParameter = new ProcessParameters(
       this.OnGameSession,
       this.OnProcessTerminate,
       this.OnHealthCheck,
       this.OnGameSessionUpdate,
       port,
       new LogParameters(logPaths));
   ```

1. Fornisci l'[ProcessParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-process)oggetto quando chiami [ProcessReady()](integration-server-sdk-csharp-ref-actions.md#integration-server-sdk-csharp-ref-processready).

   ```
   var processReadyOutcome =
      GameLiftServerAPI.ProcessReady(processReadyParameter);
   ```

Per un esempio più completo, vedi[ProcessReady()](integration-server-sdk-csharp-ref-actions.md#integration-server-sdk-csharp-ref-processready).

------

## Scrittura nei log
<a name="writing-to-logs-for-custom-servers"></a>

I file di registro esistono dopo l'avvio del processo del server. È possibile scrivere nei log utilizzando qualsiasi metodo di scrittura sui file. Per acquisire tutti gli output standard e gli output di errore del server, rimappa i flussi di output nei file di registro, come negli esempi seguenti:

------
#### [ C\+\+ ]

```
std::freopen("serverOut.log", "w+", stdout);
std::freopen("serverErr.log", "w+", stderr);
```

------
#### [ C\# ]

```
Console.SetOut(new StreamWriter("serverOut.txt"));
Console.SetError(new StreamWriter("serverErr.txt"));
```

------

## Accesso ai log del server
<a name="accessing-logs-for-custom-servers"></a>

L'accesso ai log varia in base al tipo di parco veicoli:

### Flotte EC2 gestite
<a name="accessing-logs-managed-ec2"></a>

Al termine di una sessione di gioco, archivia Amazon GameLift Servers automaticamente i log in un bucket S3 e li conserva per 14 giorni. Per ottenere la posizione dei log di una sessione di gioco, puoi utilizzare l'operazione API. [GetGameSessionLogUrl](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetGameSessionLogUrl.html) Per scaricare i log, utilizza l'URL restituito dall'operazione.

In alternativa, puoi configurare la tua soluzione di registrazione configurando il tuo server di gioco in modo che invii i log direttamente al servizio di registrazione o alla posizione di archiviazione preferita. Per ulteriori informazioni, consulta [Connect il server di gioco Amazon GameLift Servers ospitato ad altre AWS risorse](gamelift-sdk-server-resources.md).

### Flotte di container
<a name="accessing-logs-containers"></a>

Le flotte di container acquisiscono flussi di output e di errore standard da tutti i container. È possibile configurare la registrazione utilizzando una di queste opzioni:
+ Salva l'output del contenitore come flussi di CloudWatch log in un gruppo di log specificato
+ Salva l'output del contenitore in un bucket di archiviazione S3
+ Disattiva la registrazione (l'output del contenitore non viene salvato)

Per informazioni dettagliate sulla configurazione delle opzioni di registrazione durante la creazione di flotte di container, consulta [LogConfiguration](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateContainerFleet.html#gameliftservers-CreateContainerFleet-request-LogConfiguration)l'API Reference. Amazon GameLift Servers