Hey there @hive, apologies for the delay on our part getting back to you -
When you launch your game server process and initialize the GameLift Server SDK, as part of that ProcessReady() call, you tell GameLift where your game’s logs will be written. You can tell GameLift a specific filename in a specific directory, or, an entire directory of logs. Refer to this documentation for an example of specifying log locations when setting up your game server:
When the GameSession ends, the log file or log directory that you specified, will be zipped and uploaded to GameLift. From there, you can retrieve logs on a per-GameSession basis by calling the GetGameSessionLogUrl API:
To answer your specific questions:
> How can i tell to gamelift to upload my own log file (with .log file extension), which not belong to any game session?
Either put this log into the same directory as where you have specified the GameSession logs would be written, or, include this log file as its own entry when you pass in the list of log locations when calling ProcessReady.
> How exactly game session log uploaded to game lift?
Every time the GameSession ends, the logs you specified as part of the ProcessReady call are zipped and uploaded to GameLift.