I'm writing a class library as an abstraction to use for logging in any application, service, etc. that I write. I'm making it decently robust by making it very configurable to suit my needs for most application/service logging scenarios that I come across.
The config is designed to specify things such as:
- What logging level to write
- Write to one log file for all levels
- Write to separate files per level
- Logging cutoff (periodic, app event, byte size restricted)
- Log file expiration (delete log files after file age)
- Write as flat text or XML
- Log file name format specification
- Whether to prefix filename with date
- Parent app's name
- etc, etc, etc...
I've read some other stackoverflow questions regarding configs for DLL assemblies and it causing conflict between the app.config for the hosting assembly/app. I believe that my assembly has just cause to provide a config file.
Is this a good scenario for that occasion? Is it perhaps a better idea to bake my own config into my project so that my logger reads from XML files to retrieve config values?