# Access Log The Access Log plugin allows you to keep track of incoming requests and monitor the activity on your API server. With the Access Log, you can easily identify and analyze traffic patterns, detect issues, and optimize the performance of your API. ## Usage ```yaml title="vulcan.yaml" access-log: enabled: true options: level: info displayRequestId: true displayFunctionName: true displayFilePath: hideNodeModulesOnly ``` With this configuration, the access-log output will look like: ```bash 2022-09-26 08:04:08.307 INFO [ACCESS_LOG packages/serve/src/lib/middleware/accessLogMiddleware.ts:23 AccessLogMiddleware.] --> ::1 -- "GET /api/artist/1" -- size: none 2022-09-26 08:04:08.308 INFO [ACCESS_LOG packages/serve/src/lib/middleware/accessLogMiddleware.ts:26 AccessLogMiddleware.] -> header: {"xxxxxxxxxxxx"} 2022-09-26 08:04:08.308 INFO [ACCESS_LOG packages/serve/src/lib/middleware/accessLogMiddleware.ts:27 AccessLogMiddleware.] -> query: {} 2022-09-26 08:04:08.310 INFO [ACCESS_LOG packages/serve/src/lib/middleware/accessLogMiddleware.ts:28 AccessLogMiddleware.] -> params: undefined ``` ## Settings | Name | Default | Type | Description | |----------|---------|----------|-----------------------------------------------------------------------------| | enabled | true | boolean | Determines whether to enable the `access-log` service. Set to `false` to disable the service. | ## Options | Name | Default | Type | Description | Options | |--------------------|-----------------------|---------|---------------------------------------------------------------------------------------------|-----------------------------------------------------| | level | debug | string | Sets the log level | silly, trace, debug, info, warn, error, or fatal | | displayRequestId | false | boolean | Determines whether to display the request ID in logs | | | displayFunctionName| false | boolean | Determines whether to display the function name in logs | | | displayFilePath | hidden | string | Sets how the file path is displayed in logs | hidden, displayAll, or hideNodeModulesOnly | VulcanSQL uses [`tslog`](https://tslog.js.org/#/) for logging. While it comes with reasonable default settings, you can customize them through `vulcan.yaml` to better suit your needs.