{"id":23626356,"url":"https://github.com/datalust/seq-forwarder","last_synced_at":"2025-07-22T13:33:50.257Z","repository":{"id":9191364,"uuid":"61169394","full_name":"datalust/seq-forwarder","owner":"datalust","description":"Local collection and reliable forwarding of log data to Seq","archived":false,"fork":false,"pushed_at":"2024-02-22T07:08:27.000Z","size":1917,"stargazers_count":61,"open_issues_count":7,"forks_count":17,"subscribers_count":13,"default_branch":"dev","last_synced_at":"2025-06-05T00:52:01.315Z","etag":null,"topics":["seq","serilog"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datalust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-15T01:57:16.000Z","updated_at":"2025-04-10T12:24:52.000Z","dependencies_parsed_at":"2024-02-22T07:48:03.272Z","dependency_job_id":null,"html_url":"https://github.com/datalust/seq-forwarder","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/datalust/seq-forwarder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-forwarder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-forwarder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-forwarder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-forwarder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datalust","download_url":"https://codeload.github.com/datalust/seq-forwarder/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-forwarder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266506172,"owners_count":23940019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["seq","serilog"],"created_at":"2024-12-27T22:53:05.918Z","updated_at":"2025-07-22T13:33:50.230Z","avatar_url":"https://github.com/datalust.png","language":"C#","readme":"# Seq Forwarder [![Build status](https://ci.appveyor.com/api/projects/status/qdvdn50xqwi43jkm?svg=true)](https://ci.appveyor.com/project/datalust/seq-forwarder) [![Join the chat at https://gitter.im/datalust/seq](https://img.shields.io/gitter/room/datalust/seq.svg)](https://gitter.im/datalust/seq) [![Download](https://img.shields.io/github/release/datalust/seq-forwarder.svg)](https://github.com/datalust/seq-forwarder/releases)\n\nSeq Forwarder is a client-side log collector that receives events over its local HTTP API and persists them to its own \ninternal storage until a remote Seq server can be reached.\n\n![Seq Forwarder](https://raw.githubusercontent.com/nblumhardt/images/master/seq-forwarder-schematic.png)\n\nSeq Forwarder listens on port `15341` by default. The HTTP ingestion API is identical to\nthe Seq one, so standard client libraries like _Serilog.Sinks.Seq_ can write to\nit directly.\n\n```csharp\nLog.Logger = new LoggerConfiguration()  \n    .WriteTo.Seq(\"http://localhost:15341\")\n    .CreateLogger();\n\nLog.Information(\"Hello, Seq Forwarder!\");  \n```\n\nClient applications can specify an API key when logging to Seq Forwarder. In this case the API key supplied by the client\nwill be forwarded along to the target Seq server.\n\nAlternatively, Seq Forwarder can be configured with an API key, and will use this to log to Seq when client applications do not specify one.\n\n## Getting started\n\nFirst, download the release bundle for your platform, and extract it to a suitable location.\n\nThe instructions below use the `seqfwd` command-line. To learn about available commands, try `seqfwd help`.\n\n### On Windows\n\nTo set up Seq Forwarder as a Windows service, from an administrative PowerShell prompt in the Seq Forwarder directory,\nset the target Seq server URL and an optional API key:\n\n```powershell\n./seqfwd config -k output.serverUrl --value=\"http://seq.example.com/\"\n./seqfwd config -k output.apiKey --value=\"1a2b3c4d5e6f\"\n./seqfwd config -k storage.bufferSizeBytes -v 1073741824\n./seqfwd install\n./seqfwd start\n```\n\nThe default buffer size limit is 64 MB. In the example, this is increased to 1 GB.\n\nTo upgrade, stop the service, overwrite the forwarder release bundle, and restart the service.\n\nOn Windows, Seq Forwarder will used machine-scoped DPAPI to encrypt the default API key and any API keys supplied by\nclients.\n\n## On macOS or Linux\n\nOn Linux, you'll need `liblmdb`:\n\n```\napt install liblmdb-dev\n```\n\nTo run Seq Forwarder, configure the target Seq server URL, and optionally, an API key:\n\n```shell\n./seqfwd config -k output.serverUrl --value=\"http://seq.example.com/\"\n./seqfwd config -k output.apiKey --value=\"1a2b3c4d5e6f\"\n./seqfwd config -k storage.bufferSizeBytes -v 1073741824\n./seqfwd run\n```\n\n**Note** that on macOS and Linux, the output API key and any API keys provided by clients will be stored in plain text.\n\nThe default buffer size cap is 64 MB. In the example, this is increased to 1 GB.\n\n## Development\n\nSeq Forwarder is a .NET Core application that can be built using the .NET Core SDK on Windows, macOS, and Linux.\n\nTo debug, `F5` will work, but on Windows you will need to either run the `install` command (see below) to create an HTTP namespace\nreservation, or run as Administrator.\n\n## Troubleshooting\n\nBy default the \"forwarder\" logs will be stored under `%PROGRAMDATA%\\Seq\\Logs`.  If the destination Seq server is not \navailable, an exception will be stored in these log files.\n\nIf you need to inspect the current configuration, it can be found at: `%PROGRAMDATA%\\Seq\\Forwarder\\SeqForwarder.json`\n\n## Command line usage\n\n```\n\u003e ./seqfwd help\nUsage: seqfwd \u003ccommand\u003e [\u003cargs\u003e]\n\nAvailable commands are:\n  bind-ssl   Bind an installed SSL certificate to an HTTPS port served by Seq \n             Forwarder\n  config     View and set fields in the SeqForwarder.json file; run with no \n             arguments to list all fields\n  dump       Print the complete log buffer contents as JSON\n  help       Show information about available commands\n  install    Install the Seq Forwarder as a Windows service\n  restart    Restart the Windows service\n  run        Run the server interactively\n  start      Start the Windows service\n  status     Show the status of the Seq Forwarder service\n  stop       Stop the Windows service\n  truncate   Clear the log buffer contents\n  uninstall  Uninstall the Windows service\n  version    Print the current executable version\n```\n\nNote that the Windows HTTP and service-related commands (`bind-ssl`, `install`, `restart`, `start`, `status`, `stop`, \nand `uninstall`) are only available on that platform.\n\n## _SeqForwarder.json_ configuration example\n\nThe `seqfwd config` command reads and writes _SeqForwarder.json_:\n\n```json\n{\n  \"diagnostics\": {\n    \"internalLogPath\": \"C:\\\\ProgramData\\\\Seq\\\\Logs\\\\\",\n    \"internalLoggingLevel\": \"Information\"\n  },\n  \"output\": {\n    \"serverUrl\": \"http://localhost:5341\",\n    \"eventBodyLimitBytes\": 262144,\n    \"rawPayloadLimitBytes\": 10485760,\n    \"apiKey\": null\n  },\n  \"storage\": {\n    \"bufferSizeBytes\": 67108864\n  },\n  \"api\": {\n    \"listenUri\": \"http://localhost:15341\"\n  }\n}\n```\n\nOn Windows, this file lives in `C:\\ProgramData\\Seq\\Forwarder`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalust%2Fseq-forwarder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatalust%2Fseq-forwarder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalust%2Fseq-forwarder/lists"}