YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Refactoring TYPO3 Logging

RefactoringTYPO3 Logging

Image by “digital cat”: http://www.flickr.com/people/14646075@N03/

Page 2: Refactoring TYPO3 Logging

About me

✗ Steffen Müller✗ /gebrüderheitz GbR ✗ Freiburg/Germany

✗ TYPO3 developer✗ 9 years experience with TYPO3

✗ Twitter: @t3node✗ TYPO3 Blog: http://www.t3node.com

Refactoring TYPO3 Logging at #t3dd12

Page 3: Refactoring TYPO3 Logging

Main Project Team

Refactoring TYPO3 Logging at #t3dd12

Steffen MüllerIngo Renner

Steffen Gebert

Page 4: Refactoring TYPO3 Logging

About you

Tell us in 2-3 Sentences:

✗ Who are you?✗ What are your TYPO3 skills?✗ What you expect from the workshop?

Then add yourself to the Forge Project:http://forge.typo3.org/projects/typo3v4-logging

Refactoring TYPO3 Logging at #t3dd12

Image by Dierk Schaefer: http://www.flickr.com/people/dierkschaefer/

Page 5: Refactoring TYPO3 Logging

Workshop Topics

✗ Overview✗ Project goals ✗ What has been done so far?

✗ Hands on✗ Test and review the Logging API✗ Code some nasty stuff✗ Your suggested topic!

Refactoring TYPO3 Logging at #t3dd12

Page 6: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 7: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 8: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 9: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 10: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 11: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 12: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 13: Refactoring TYPO3 Logging

The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12

Page 14: Refactoring TYPO3 Logging

Refactoring Goals

Refactoring TYPO3 Logging at #t3dd12

✗ New Logging API✗ Replace existing log calls in core with new API calls✗ New BE module✗ Showcase extensions✗ Documentation

Page 15: Refactoring TYPO3 Logging

What has been done so far?

Refactoring TYPO3 Logging at #t3dd12

✗ New Logging API in t3lib/log/✗ Incubator git repository✗ Proof-of-concept:

✗ Configuration $TYPO3_CONF_VARS['LOG']✗ Replaced t3lib_div::devLog and sysLog

Page 16: Refactoring TYPO3 Logging

The new Logging API

Refactoring TYPO3 Logging at #t3dd12

✗ A single API✗ Extensible✗ Configurable✗ Up to 100% covered with UnitTests

Page 17: Refactoring TYPO3 Logging

API Overview

Refactoring TYPO3 Logging at #t3dd12

Page 18: Refactoring TYPO3 Logging

LogManager

Refactoring TYPO3 Logging at #t3dd12

Page 19: Refactoring TYPO3 Logging

LogLogger

Refactoring TYPO3 Logging at #t3dd12

Page 20: Refactoring TYPO3 Logging

LogLevel

Refactoring TYPO3 Logging at #t3dd12

Page 21: Refactoring TYPO3 Logging

LogRecord

Refactoring TYPO3 Logging at #t3dd12

Page 22: Refactoring TYPO3 Logging

LogRecord

Refactoring TYPO3 Logging at #t3dd12

Page 23: Refactoring TYPO3 Logging

LogWriters

Refactoring TYPO3 Logging at #t3dd12

Page 24: Refactoring TYPO3 Logging

Example usage

Refactoring TYPO3 Logging at #t3dd12

✗ Instanciate Logger:$logger = t3lib_log_LogManager::getLogger(__CLASS__);

✗ Write log event:$logger->log(t3lib_log_Level::ERROR, 'My Message');

✗ Shorthand syntax:$logger->error('My Message');

✗ Additional data:$logger->debug('My Message', array('foo' => 'bar'));

✗ Method chaining:t3lib_log_LogManager::getLogger(__CLASS__)->error('lol');

Page 25: Refactoring TYPO3 Logging

Possible Workgroups

Refactoring TYPO3 Logging at #t3dd12

✗ Testing and reviewing the current API code✗ Coding a custom LogWriter extension✗ Porting the current code to a backport extension✗ Configuration✗ Performance / Profiling

Page 26: Refactoring TYPO3 Logging

Project Resources

Refactoring TYPO3 Logging at #t3dd12

✗ Logging API directory: t3lib/log/✗ Workshop Wiki:

http://forge.typo3.org/projects/typo3v4-logging/wiki/T3DD12-Workshop

✗ Forge Project: Logging Improvementshttp://forge.typo3.org/projects/typo3v4-logging

✗ Git: Incubator, branch project-logging-t3dd12git://git.typo3.org/TYPO3v4/Incubator.git


Related Documents