如何关闭微秒精度(以提升性能)

3.4 版本
维护中的版本

MonologBundle2.11 use_microseconds 从2.11版开始引入。

use_microseconds 参数设置为 false 可以令logger在日志信息的 datetime 字段中将精度从毫秒缩减至秒,以避免调用 microtime(true) 函数连同后续解析。关闭毫秒可以获得少许“日志生成”时的性能提升。当系统要生成大量日志事件时推荐使用。

1
2
3
4
5
6
7
8
# app/config/config.yml
monolog:
    use_microseconds: false
    handlers:
        applog:
            type: stream
            path: /var/log/symfony.log
            level: error
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:monolog="http://symfony.com/schema/dic/monolog"
    xsi:schemaLocation="http://symfony.com/schema/dic/services
        http://symfony.com/schema/dic/services/services-1.0.xsd
        http://symfony.com/schema/dic/monolog
        http://symfony.com/schema/dic/monolog/monolog-1.0.xsd">
 
    <monolog:config use_microseconds="false">
        <monolog:handler
            name="applog"
            type="stream"
            path="/var/log/symfony.log"
            level="error"
        />
    </monolog:config>
</container>
1
2
3
4
5
6
7
8
9
10
11
// app/config/config.php
$container->loadFromExtension('monolog', array(
    'use_microseconds' => false,
    'handlers' => array(
        'applog' => array(
            'type'  => 'stream',
            'path'  => '/var/log/symfony.log',
            'level' => 'error',
        ),
    ),
));

本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。

登录symfonychina 发表评论或留下问题(我们会尽量回复)