[TYPO3-core] Strategy for deprecation log
klein.t3 at mfc-linz.at
Mon Apr 1 13:39:08 CEST 2013
a lot of people complain about huge deprecation log files with a high percentage of duplicate entries.
ATM there's a patch pending in gerrit which filters duplicates in the deprecation log  to reduce size of these files.
What the patch does:
* create a unique token for the incoming deprecation log message
* load the complete log file,
* test line by line if token already exists
* append new line if not existing
Drawbacks of this approach:
* bad performance
> Do you have numbers how bad this really is? IMO it is not so bad, because the file is rather small now.
* permanently monitoring the deprecation log by running "tail -f" on the cli won't work for duplicates
> True, but I personally have no usecase for "tail -f". Could you elaborate on how you use this?
IMO we should use the Logging API for writing deprecation log messages.
This would give users more control over deprecation log strategy.
The general approach would be to replace the implementation of
In the most simple case, we'd have a FileWriter configured which simply writes to typo3temp/logs/deprecation.log This would be a plain replacement for the 'file' part in GeneralUtility::deprecationLog()
To filter duplicates we could add a dedicated DeprecationWriter, which
1) receives all deprecation messages,
2) optionally checks for duplicates using the sys_registry
> IMHO a NO GO. Please don't use any database stuff in deprecation handling.
3) writes the log record to the configured target writers.
I already have a prove of concept for this. 
If you have ideas for more fancy stuff in step 2) - then go ahead and share.
Questions I have:
* How to flush the registry from the backend?
* Should we filter duplicates be default?
* How to migrate the old configuration from $TYPO3_CONF_VARS['SYS']['enableDeprecationLog']?
* What is your workflow with deprecation log? (when working on core or
TYPO3 Blog: http://www.t3node.com/
Twitter: @t3node - http://twitter.com/t3node _______________________________________________
Before posting to this list, please have a look to the posting rules on the following websites:
TYPO3-team-core mailing list
TYPO3-team-core at lists.typo3.org
More information about the TYPO3-team-core