AdguardTeam / AdGuardHome

Network-wide ads & trackers blocking DNS server
https://adguard.com/adguard-home.html
GNU General Public License v3.0
25.5k stars 1.83k forks source link

Improve debug log #3391

Open hoshsadiq opened 3 years ago

hoshsadiq commented 3 years ago

Problem Description

Debugging issues is really hard. Enabling debug is useless because of the sheer amount and uploading it for AGH team to inspect involves potential privacy issues.

Proposed Solution

It would be great to separate out logging for individual components. Something as simple prefixing log entries with the component name would awesome as that would allow users to grep on specific component so that logs for only those components can be uploaded. This would also aid you in debugging as it allows you to grep on specific components should a user not filter it themselves.

Alternatives Considered

You could go a step further and allow different log levels per component, but this sounds like it might be a little more work.

Additional Information

It looks like you are using your own in-house built logging library so not sure what would be involved to do so, but if you were using an OSS library such as logrus, you could potential use fields or the like.

ainar-g commented 3 years ago

We've already been slowly moving logging to a kind of prefixed scheme like you suggest, but the process has been slow and inconsistent. We'll define these a bit better in the future. Ideally, every component should have its own logger, but that is currently hard to do with the logging libraries we're using.