Top Banner
Refactoring TYPO3 Logging Image by “digital cat”: http://www.flickr.com/people/14646075@N03/
26

Refactoring TYPO3 Logging

Jun 24, 2015

Download

Technology

Steffen Müller

Slides for a workshop at TYPO3 Developer Days 2012 which was called: "Refactoring TYPO3 Logging".

The slides mainly cover two topics: The current Logging dilemma in TYPO3v4 and the architecture of the new Logging API in TYPO3v6
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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