SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Refactoring
TYPO3 Logging

Image by “digital cat”: http://www.flickr.com/people/14646075@N03/
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
Main Project Team

Steffen Gebert

Ingo Renner
Steffen MĂŒller

Refactoring TYPO3 Logging at #t3dd12
About you
Tell us in 2-3 Sentences:
✗

Who are you?

✗

What are your TYPO3 skills?

✗

What you expect from the workshop?

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

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

Refactoring TYPO3 Logging at #t3dd12
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
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
The Logging Dilemma

Refactoring TYPO3 Logging at #t3dd12
Refactoring Goals
✗

New Logging API

✗

Replace existing log calls in core with new API calls

✗

New BE module

✗

Showcase extensions

✗

Documentation

Refactoring TYPO3 Logging at #t3dd12
What has been done so far?
✗

New Logging API in t3lib/log/

✗

Incubator git repository

✗

Proof-of-concept:
✗
✗

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

Refactoring TYPO3 Logging at #t3dd12
The new Logging API
✗

A single API

✗

Extensible

✗

Configurable

✗

Up to 100% covered with UnitTests

Refactoring TYPO3 Logging at #t3dd12
API Overview

Refactoring TYPO3 Logging at #t3dd12
LogManager

Refactoring TYPO3 Logging at #t3dd12
LogLogger

Refactoring TYPO3 Logging at #t3dd12
LogLevel

Refactoring TYPO3 Logging at #t3dd12
LogRecord

Refactoring TYPO3 Logging at #t3dd12
LogRecord

Refactoring TYPO3 Logging at #t3dd12
LogWriters

Refactoring TYPO3 Logging at #t3dd12
Example usage
✗

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');

Refactoring TYPO3 Logging at #t3dd12
Possible Workgroups
✗

Testing and reviewing the current API code

✗

Coding a custom LogWriter extension

✗

Porting the current code to a backport extension

✗

Configuration

✗

Performance / Profiling

Refactoring TYPO3 Logging at #t3dd12
Project Resources
✗

Logging API directory: t3lib/log/

✗

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

✗

Forge Project: Logging Improvements
http://forge.typo3.org/projects/typo3v4-logging

✗

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

✗

Refactoring TYPO3 Logging at #t3dd12

Weitere Àhnliche Inhalte

Was ist angesagt?

From Code to Cloud - PHP on Red Hat's OpenShift
From Code to Cloud - PHP on Red Hat's OpenShiftFrom Code to Cloud - PHP on Red Hat's OpenShift
From Code to Cloud - PHP on Red Hat's OpenShift
Eric D. Schabell
 

Was ist angesagt? (14)

Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017
 
Mastering git - Workflow
Mastering git - WorkflowMastering git - Workflow
Mastering git - Workflow
 
From Code to Cloud - PHP on Red Hat's OpenShift
From Code to Cloud - PHP on Red Hat's OpenShiftFrom Code to Cloud - PHP on Red Hat's OpenShift
From Code to Cloud - PHP on Red Hat's OpenShift
 
Terraform & IaC - Nam CXN
Terraform & IaC - Nam CXNTerraform & IaC - Nam CXN
Terraform & IaC - Nam CXN
 
Recent c++ goodies (March 2018)
Recent c++ goodies (March 2018)Recent c++ goodies (March 2018)
Recent c++ goodies (March 2018)
 
Decision making - for loop , nested loop ,if-else statements , switch in goph...
Decision making - for loop , nested loop ,if-else statements , switch in goph...Decision making - for loop , nested loop ,if-else statements , switch in goph...
Decision making - for loop , nested loop ,if-else statements , switch in goph...
 
Git grep cpan
Git grep cpanGit grep cpan
Git grep cpan
 
Essential Git and Github commands
Essential Git and Github commandsEssential Git and Github commands
Essential Git and Github commands
 
Machine Understandable code
Machine Understandable codeMachine Understandable code
Machine Understandable code
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ikp321-05
ikp321-05ikp321-05
ikp321-05
 
Últimas atualizaçÔes de produtividade no Visual Studio 2017​
Últimas atualizaçÔes de produtividade no Visual Studio 2017​Últimas atualizaçÔes de produtividade no Visual Studio 2017​
Últimas atualizaçÔes de produtividade no Visual Studio 2017​
 
OpenAPIă‚’ćˆ©ç”šă—ăŸPythonWebケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłé–‹ç™ș
OpenAPIă‚’ćˆ©ç”šă—ăŸPythonWebケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłé–‹ç™șOpenAPIă‚’ćˆ©ç”šă—ăŸPythonWebケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłé–‹ç™ș
OpenAPIă‚’ćˆ©ç”šă—ăŸPythonWebケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłé–‹ç™ș
 
Programming questions
Programming questionsProgramming questions
Programming questions
 

Ähnlich wie Refactoring TYPO3 Logging

Ähnlich wie Refactoring TYPO3 Logging (20)

The 36 chambers of TYPO3 Logging
The 36 chambers of TYPO3 LoggingThe 36 chambers of TYPO3 Logging
The 36 chambers of TYPO3 Logging
 
EuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingEuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears Training
 
TYPO3 Flow 2.0 in the field - webtech Conference 2013
TYPO3 Flow 2.0 in the field - webtech Conference 2013TYPO3 Flow 2.0 in the field - webtech Conference 2013
TYPO3 Flow 2.0 in the field - webtech Conference 2013
 
TYPO3 Neos - the compendium (version 1.0.2)
TYPO3 Neos - the compendium (version 1.0.2)TYPO3 Neos - the compendium (version 1.0.2)
TYPO3 Neos - the compendium (version 1.0.2)
 
Industrializing Machine learning pipelines
Industrializing Machine learning pipelinesIndustrializing Machine learning pipelines
Industrializing Machine learning pipelines
 
TYPO3 Surf Introduction
TYPO3 Surf IntroductionTYPO3 Surf Introduction
TYPO3 Surf Introduction
 
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
 
TYPO3 5.0 Experience Concept
TYPO3 5.0 Experience ConceptTYPO3 5.0 Experience Concept
TYPO3 5.0 Experience Concept
 
Making Testing Easy w GitHub Copilot.pdf
Making Testing Easy w GitHub Copilot.pdfMaking Testing Easy w GitHub Copilot.pdf
Making Testing Easy w GitHub Copilot.pdf
 
Tutorial contributing to nf-core
Tutorial contributing to nf-coreTutorial contributing to nf-core
Tutorial contributing to nf-core
 
TYPO3 as Things Management System
TYPO3 as Things Management SystemTYPO3 as Things Management System
TYPO3 as Things Management System
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
Development_C_Extension_with_Pybind11.pdf
Development_C_Extension_with_Pybind11.pdfDevelopment_C_Extension_with_Pybind11.pdf
Development_C_Extension_with_Pybind11.pdf
 
Logging with TYPO3 CMS and monolog
Logging with TYPO3 CMS and monologLogging with TYPO3 CMS and monolog
Logging with TYPO3 CMS and monolog
 
Git single branch
Git single branchGit single branch
Git single branch
 
Contribute to Eclipse
Contribute to EclipseContribute to Eclipse
Contribute to Eclipse
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloud
 
Contributing to github is for everyone
Contributing to github is for everyoneContributing to github is for everyone
Contributing to github is for everyone
 
What's new in TYPO3 v9 LTS
What's new in TYPO3 v9 LTSWhat's new in TYPO3 v9 LTS
What's new in TYPO3 v9 LTS
 

KĂŒrzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

KĂŒrzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Refactoring TYPO3 Logging