This is the client for FNLogs, which automaticly uploads log files based on the configuration.
- Download the built app from the latest github action run.
- Extract the zip content
- Start
FNLogs.Client.exe
- (ideally) Create a shortcup for the exe in
%appdata%\Microsoft\Windows\Start Menu\Programs\Startup
so the app auto-starts on boot
- DotNet 8 Runtime
- DotNet 8 SDK
https://dotnet.microsoft.com/en-us/download/dotnet/8.0
dotnet build
App Logs are located at %localappdata%\FNLogs\Logs
. The app uses Serilog for logging.
The app is configured in appsettings.json
, when debugging the app will always use the latest version in the project.
When using a release build your config will be located at %localappdata%\FNLogs\appsettings.json
.
Path | Required | Type | Description |
---|---|---|---|
apiHost |
true | string | This is the backend host, for the hosted version use https://fnlogs.lel3x.de , which is also the default host |
interval |
false | uint | The interval in minutes in which logs are validated and uploaded, defaults to 30 minutes |
locations |
true | LocationConfig[] | This is the list of log directories to watch |
locations/path |
true | string | The directory of the logs, you may use the %localappdata% variable |
locations/processName |
true | string | Logs wont be uploaded while this process is running |
locations/fileNamePrefix |
false | string | Prefix for log files, e.g. "FortniteGame" for Fortnite, very much recommended to not upload non UE log files |
locations/uploadedDirectoryName |
false | string | The directory that uploaded logs will be moved to, defaults to Uploaded |
Example Configuration (only watch fortnite logs)
{
"apiHost": "https://fnlogs.lel3x.de",
"locations": [
{
"path": "%localappdata%\\FortniteGame\\Saved\\Logs",
"processName": "FortniteClient-Win64-Shipping",
"fileNamePrefix": "FortniteGame",
"uploadedDirectoryName": "Uploaded"
}
],
"interval": 30
}
The default shipped configuration will watch for both fortnite and epic games launcher logs.
Found a issue?
Open a GitHub issue with enough info to reproduce the issue.