<?php

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

return [

    /*
    |--------------------------------------------------------------------------
    | Default Log Channel
    |--------------------------------------------------------------------------
    |
    | This option defines the default log channel that gets used when writing
    | messages to the logs. The name specified in this option should match
    | one of the channels defined in the "channels" configuration array.
    |
    */

    'default' => env('LOG_CHANNEL', 'stack'),

    /*
    |--------------------------------------------------------------------------
    | Log Channels
    |--------------------------------------------------------------------------
    |
    | Here you may configure the log channels for your application. Out of
    | the box, Laravel uses the Monolog PHP logging library. This gives
    | you a variety of powerful log handlers / formatters to utilize.
    |
    | Available Drivers: "single", "daily", "slack", "syslog",
    |                    "errorlog", "monolog",
    |                    "custom", "stack"
    |
    */

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['daily', 'dingding'],
        ],

        'single' => [
            'driver' => 'single',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
        ],

        'appleStorePay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/appleStorePay.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
        'googlePay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/appleStorePay.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
        'cashPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/cashPay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'fastPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/fastPay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'nicePay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/nicePay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'aegPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/aegPay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'RussiaPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/russiaPay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'LQPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/LQPay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'passPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/passPay.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
        'paySuccess' => [
            'driver' => 'daily',
            'path' => storage_path('logs/paySuccess.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],

        'AppflyerEvent' => [
            'driver' => 'daily',
            'path' => storage_path('logs/appflyerEvent.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],

        'adjustEvent' => [
            'driver' => 'daily',
            'path' => storage_path('logs/adjustEvent.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
        'ip' => [
            'driver' => 'daily',
            'path' => storage_path('logs/ip.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],

        'invitation' => [
            'driver' => 'daily',
            'path' => storage_path('logs/invitation.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 30,
            'permission' => 0666
        ],

        'slack' => [
            'driver' => 'slack',
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],

        'stderr' => [
            'driver' => 'monolog',
            'handler' => StreamHandler::class,
            'with' => [
                'stream' => 'php://stderr',
            ],
        ],

        'syslog' => [
            'driver' => 'syslog',
            'level' => 'debug',
        ],

        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],

        'SubCommand' => [
            'driver' => 'daily',
            'path' => storage_path('logs/subCommand.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
        'benchmark' => [
            'driver' => 'daily',
            'path' => storage_path('logs/benchmark.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
        'dingding' => [
            'driver' => 'monolog',
            'handler' => \App\Log\TelegramHandler::class,
            'handler_with' => [
                'level' => Logger::ERROR,
            ]
        ],
        'LQPay' => [
            'driver' => 'daily',
            'path' => storage_path('logs/LQPay.log'),
            'level' => 'debug',
            'days' => 60,
            'permission' => 0666
        ],
        'apcopay' => [
            'driver' => 'daily',
            'path' => config('pay.apcopay.log.file'),
            'level' => config('pay.apcopay.log.level', 'debug'),
            'days' => 14,
        ],
    ],

];
