hassio-addons / addon-emqx

EMQX - Home Assistant Community Add-ons
MIT License
63 stars 13 forks source link

Improve logs accessibility. #90

Closed miguelangel-nubla closed 2 months ago

miguelangel-nubla commented 6 months ago

Proposed Changes

Mount share folder in order to have a place where to save logs persistently and survive a crash.

Summary by CodeRabbit

sinclairpaul commented 6 months ago

How does this fix the issue stated?

miguelangel-nubla commented 6 months ago

In the EMQX UI you can enable the File log logger under Cluster Settings -> Logging -> File Log. Currently there is no location where you could save the log to survive a crash of the addon. This would allow setting something like /share/emqx/logs/emqx.log as the file and work.

Would also set that path by default while leaving the logger disabled be ok for this PR?

frenck commented 6 months ago

Currently there is no location where you could save the log to survive a crash of the addon.

There is, the data folder of the add-on: /data

miguelangel-nubla commented 6 months ago

As far as I know that folder is persistent across restarts, but only accessible from within the respective addon?

How can anyone be able read that folder without touching docker? What am I missing?

frenck commented 6 months ago

How can anyone be able read that folder without touching docker? What am I missing?

This should not be added to share. If there is a need for an accessible data folder, then the add-on public data folder can be added instead.

miguelangel-nubla commented 6 months ago

Add-on public data folder seems a good choice.

~~The logs were currently saved to /data/emqx/log, moving them to /config/log means loosing auto backup. Since logging to file is disabled by default I think it is a acceptable compromise.~~

github-actions[bot] commented 4 months ago

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days. Thank you for your contributions.

miguelangel-nubla commented 4 months ago

Not stale

github-actions[bot] commented 3 months ago

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days. Thank you for your contributions.

coderabbitai[bot] commented 2 months ago

Walkthrough

This update introduces a new configuration entry addon_config:rw in emqx/config.yaml. It also sets the EMQX_LOG_DIR environment variable to "/config/log" in the emqx/run script, and removes the creation of /data/emqx/log and the symbolic link for /opt/emqx/log in the init-emqx/run script.

Changes

File Path Summary
emqx/config.yaml Added addon_config:rw under the map section.
emqx/rootfs/etc/s6-overlay/s6-rc.d/emqx/run Exported EMQX_LOG_DIR with value "/config/log".
emqx/rootfs/etc/s6-overlay/s6-rc.d/init-emqx/run Removed creation of /data/emqx/log and the symbolic link for /opt/emqx/log.

Poem

In the config's quiet scroll,
A new line for control,
The logs now rest where they belong,
No more links that feel so wrong.
The EMQX breathes anew,
With paths defined, clean and true.

[!TIP]

You can generate walkthrough under a collapsible section Enable the `reviews.collapse_walkthrough` setting in your project's settings in CodeRabbit to generate walkthrough in a markdown collapsible section.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.