Lumen - Mono Log - Создать пользовательский файл журнала [дубликат]

Попробуйте добавить эту зависимость к вашему файлу gradle:

implementation 'com.android.support:multidex:1.0.3'

Также вы должны использовать те же версии для библиотек служб поддержки и воспроизведения. И вам следует избегать использования «+» для последней версии. Измените эту часть:

implementation 'com.google.android.gms:play-services-maps:+'
implementation 'com.google.android.gms:play-services-auth:12.0.1'
implementation 'com.google.android.gms:play-services-location:12.0.1'
implementation 'com.google.android.gms:play-services:+'
implementation 'com.google.android.gms:play-services-ads:+'

на следующее:

implementation 'com.google.android.gms:play-services-maps:12.0.1'
implementation 'com.google.android.gms:play-services-auth:12.0.1'
implementation 'com.google.android.gms:play-services-location:12.0.1'
implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.google.android.gms:play-services-ads:12.0.1'

EDIT: вы также можете добавить эту часть в файл градиента уровня приложения и повторите попытку. Я не видел, чтобы кто-то пробовал это, но это может сработать.

allprojects {
    repositories {
       //...
    }

    subprojects {
        project.configurations.all {
            resolutionStrategy.eachDependency { details ->
                if (details.requested.group == 'com.google.android.gms'
                && !details.requested.name.contains('multidex') ) {
                    details.useVersion "12.0.1"
                }
            }
        }
    }
}

2ND UPDATE: Только что увидев эту зависимость ниже, охватывает все остальные, тогда это может вызвать проблема дублирования. Удалите другие зависимости и оставьте это:

implementation 'com.google.android.gms:play-services:12.0.1'
1
задан Jhonny Afonso 1 September 2015 в 00:30
поделиться

3 ответа

В Lumen 5.6 лучше всего настроить настройку по умолчанию в .env как LOG_CHANNEL=daily

По умолчанию параметр LOG_CHANNEL=stack, который использует один файл для ведения журнала.

1
ответ дан Ahsan.Amin 26 August 2018 в 14:38
поделиться

Это необязательно в соответствии с документацией lumen :

По умолчанию Lumen настроен на создание ежедневных файлов журнала для вашего приложения, которые хранятся в хранилище / logs.

Так что вам нечего было менять.

-3
ответ дан AndHeiberg 26 August 2018 в 14:38
поделиться

Если вы посмотрите на исходный код рамки здесь , вы увидите, что он не будет делать ежедневные журналы, а скорее записывается в один файл журнала lumen.log. Существует общедоступный метод, доступный configureMonologUsing в здесь и ссылка на здесь , которую вы можете использовать для переопределения поведения по умолчанию без расширения приложения.

Lumen просто устанавливает обработчик для монолога, так что еще одно хорошее решение: вы можете сделать это:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\RotatingFileHandler;

class LogServiceProvider extends ServiceProvider
{
    /**
     * Configure logging on boot.
     *
     * @return void
     */
    public function boot()
    {
        $maxFiles = 5;

        $handlers[] = (new RotatingFileHandler(storage_path("logs/lumen.log"), $maxFiles))
            ->setFormatter(new LineFormatter(null, null, true, true));

        $this->app['log']->setHandlers($handlers);
    }

    /**
     * Register the log service.
     *
     * @return void
     */
    public function register()
    {
        // Log binding already registered in vendor/laravel/lumen-framework/src/Application.php.
    }
}

Затем не забудьте добавить поставщика услуг в ваш Lune bootstrap / app.php:

$app->register(\App\Providers\LogServiceProvider::class);
8
ответ дан prograhammer 26 August 2018 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: