Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[PropelBundle] added logging
  • Loading branch information
fabpot committed May 27, 2010
1 parent c1e0c3e commit a7e2068
Show file tree
Hide file tree
Showing 3 changed files with 133 additions and 8 deletions.
Expand Up @@ -57,7 +57,8 @@ public function dbalLoad($config)
'user' => 'root',
'password' => null,
'dsn' => null,
'classname' => 'PropelPDO',
// FIXME: should be automatically changed based on %kernel.debug%
'classname' => 'DebugPDO', //'PropelPDO',
'options' => array(),
'attributes' => array(),
// FIXME: Mysql wants UTF8, not UTF-8 (%kernel.charset%)
Expand All @@ -75,7 +76,11 @@ public function dbalLoad($config)
$connections = array($config['default_connection'] => $config);
}

$c = array('datasources' => array());
$c = array(
// FIXME: should be the same value as %zend.logger.priority%
'log' => array('level' => 7),
'datasources' => array(),
);
foreach ($connections as $name => $connection) {
$connection = array_replace($defaultConnection, $connection);

Expand All @@ -92,9 +97,6 @@ public function dbalLoad($config)
),
);
}
//// FIXME

// $c['classmap'] = //...;

$configuration->getDefinition('propel.configuration')->setArguments(array($c));

Expand Down
119 changes: 119 additions & 0 deletions src/Symfony/Framework/PropelBundle/Logger/PropelLogger.php
@@ -0,0 +1,119 @@
<?php

namespace Symfony\Framework\PropelBundle\Logger;

use Symfony\Foundation\LoggerInterface;

/*
* This file is part of the Symfony framework.
*
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/

/**
* PropelLogger.
*
* @package Symfony
* @subpackage Framework_DoctrineBundle
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
*/
class PropelLogger implements \BasicLogger
{
protected $logger;

/**
* Constructor.
*
* @param LoggerInterface $logger A LoggerInterface instance
*/
public function __construct(LoggerInterface $logger = null)
{
$this->logger = $logger;
}

/**
* Log message.
*
* @param string $message The message to log
* @param int $severity The numeric severity
*/
public function log($message, $severity = 6)
{
if (null !== $this->logger) {
$this->logger->log($message, $severity);
}
}

/**
* A convenience function for logging an alert event.
*
* @param mixed $message the message to log.
*/
public function alert($message)
{
$this->log($message, 1);
}

/**
* A convenience function for logging a critical event.
*
* @param mixed $message the message to log.
*/
public function crit($message)
{
$this->log($message, 2);
}

/**
* A convenience function for logging an error event.
*
* @param mixed $message the message to log.
*/
public function err($message)
{
$this->log($message, 3);
}

/**
* A convenience function for logging a warning event.
*
* @param mixed $message the message to log.
*/
public function warning($message)
{
$this->log($message, 4);
}

/**
* A convenience function for logging an critical event.
*
* @param mixed $message the message to log.
*/
public function notice($message)
{
$this->log($message, 5);
}

/**
* A convenience function for logging an critical event.
*
* @param mixed $message the message to log.
*/
public function info($message)
{
$this->log($message, 6);
}

/**
* A convenience function for logging a debug event.
*
* @param mixed $message the message to log.
*/
public function debug($message)
{
$this->log($message, 7);
}
}
10 changes: 7 additions & 3 deletions src/Symfony/Framework/PropelBundle/Resources/config/propel.xml
Expand Up @@ -7,21 +7,25 @@
<parameters>
<parameter key="propel.class">Propel</parameter>
<parameter key="propel.configuration.class">PropelConfiguration</parameter>
<parameter key="propel.logger.class">Symfony\Framework\PropelBundle\Logger\PropelLogger</parameter>
</parameters>

<services>
<service id="propel" class="%propel.class%">
<call method="setConfiguration">
<argument type="service" id="propel.configuration" />
</call>
<call method="setLogger">
<argument type="service" id="propel.logger" />
</call>
<call method="initialize" />
</service>

<service id="propel.configuration" class="%propel.configuration.class%" />
<!--

<service id="propel.logger" class="%propel.logger.class%">
<argument></argument>
<argument type="service" id="logger" on-invalid="null" />
</service>
//-->

</services>
</container>

0 comments on commit a7e2068

Please sign in to comment.