[TYPO3-dev] Status of "devlog" extension
Steffen Müller
typo3 at t3node.com
Thu Jun 6 14:36:01 CEST 2013
Hi.
On 06.06.2013 11:24 Xavier Perseguers wrote:
>
> See for idea: http://logging.apache.org/log4j/1.2/
>
log4j acted as one of the models for the TYPO3 Logging API :)
> In my code I'd like to write code such as
>
> Logger.log('whatever', TYPE::DEBUG);
> Logger.log('whatever', TYPE::INFO);
> Logger.log('whatever', TYPE::WARNING);
>
> and then (by default) throw = not log all TYPE::DEBUG messages and be
> able to configure debug messages to go to another table/file/... if
> needed, most probably together with other levels as well:
>
> - (Default to be defined): everything except DEBUG into syslog
> - if debug activate: everything including DEBUG wherever we want (in
> addition to standard syslog)
>
You can do that. RTM at [1]
For example:
$TYPO3_CONF_VARS['LOG']['writerConfiguration'] = array(
\TYPO3\CMS\Core\Log\LogLevel::ERROR => array(
'TYPO3\\CMS\\Core\\Log\\Writer\\FileWriter' => array(
'logFile' => 'typo3temp/logs/error.log'
),
),
\TYPO3\CMS\Core\Log\LogLevel::DEBUG => array(
'TYPO3\\CMS\\Core\\Log\\Writer\\FileWriter' => array(
'logFile' => 'typo3temp/logs/debug.log'
),
),
);
Results in:
$ cat typo3temp/logs/debug.log
Thu, 06 Jun 2013 14:21:46 +0200 [DEBUG] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [INFO] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [NOTICE] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [WARNING] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [ERROR] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [CRITICAL] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [ALERT] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [EMERGENCY] request="51b07eda05e52" ...
$ cat typo3temp/logs/error.log
Thu, 06 Jun 2013 14:21:46 +0200 [ERROR] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [CRITICAL] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [ALERT] request="51b07eda05e52" ...
Thu, 06 Jun 2013 14:21:46 +0200 [EMERGENCY] request="51b07eda05e52" ...
While writing this, I spotted a bug in the FileWriter which puts
anything into the same file. I will come up with a patch this weekend.
If you think, this documentation is not clear enough, then create a
forge issue for the CoreApi doc.
If you think we need an additional tutorial/howto/best practices
documentation for Logging, then let's start such a document by
collection use cases in the Logging project wiki [2]
>
> My idea to go one step further but perhaps is not absolutely needed,
> would be this (advanced) use case:
>
> - configure a logger for method/controller of extension X as DEBUG
I don't think it's a good idea to change severity levels of a log event
at runtime.
You could write any severity of any logger to any LogWriter. But you
have to keep one convention in mind: writers are set for all log levels
which are as severe as or higher than the minimum level and add a writer
to each severity level.
For example if you set:
$TYPO3_CONF_VARS['LOG']['writerConfiguration'] = array(
\TYPO3\CMS\Core\Log\LogLevel::ERROR => array(
'TYPO3\\CMS\\Core\\Log\\Writer\\FileWriter' => array(
'logFile' => 'typo3temp/logs/error.log'
),
)
);
Then all logRecords of level error, critical, alert and emergency are
writen to that file.
> - what ever happens until the end of the end of the method call (not
> possible without AOP) or until the end of the request (easy), in
> whichever part of the code including Core, should be logged.
>
sorry, I don't understand this scenario. Could you be more precise?
[1]
http://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Logging/Configuration/Index.html
[2] http://forge.typo3.org/projects/typo3v4-logging/wiki
[3]
http://forge.typo3.org/projects/typo3v4-core/repository/revisions/master/entry/typo3/sysext/core/Classes/Log/Logger.php#L115
--
cheers,
Steffen
TYPO3 Blog: http://www.t3node.com/
Twitter: @t3node - http://twitter.com/t3node
More information about the TYPO3-dev
mailing list