> 백엔드 개발 > PHP 튜토리얼 > Laravel은 기본 로그 파일 이름과 위치를 변경합니다.

Laravel은 기본 로그 파일 이름과 위치를 변경합니다.

不言
풀어 주다: 2023-04-02 14:34:01
원래의
2151명이 탐색했습니다.

이 글은 주로 Laravel에서 기본 로그 파일 이름과 위치를 변경하는 방법을 소개합니다. 이제 특정 참조 값을 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

기본 로그 위치를 수정하세요

언제나 가능합니다. 일반적인 개발에 사용합니다. Laravel의 로그 파일을 기본 위치에 배치하는 것은 아무런 영향을 미치지 않습니다. 그러나 프로젝트가 온라인 상태일 때 완전히 배포되고 각 배포가 git의 최신 코드라면 로그는 매번 지워질 것입니다. 다행히도 laravel은 이를 수정할 수 있는 방법을 제공합니다.

여기서 /var/log/nginx/app/phphub/phphub.log에 배치하는 예를 들어보겠습니다.

로그 처리 클래스 추가#

먼저 app/Foundation/Bootstrap/ConfigureLogging.php라는 새 파일을 만듭니다. , 코드는 다음과 같습니다:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

<?php

namespace App\Foundation\Bootstrap;

use Illuminate\Log\Writer;

use Illuminate\Contracts\Foundation\Application;

class ConfigureLogging

{

 /**

 * 设置应用的Monolog处理程序

 *

 * @param \Illuminate\Contracts\Foundation\Application $app

 * @param \Illuminate\Log\Writer $log

 * @return void

 */

 public function configureHandlers(Application $app, Writer $log)

 {

 $method = &#39;configure&#39;.ucfirst($app[&#39;config&#39;][&#39;app.log&#39;]).&#39;Handler&#39;;

 $this->{$method}($app, $log);

 }

 /**

 * 设置应用single模式下的Monolog处理程序

 *

 * @param \Illuminate\Contracts\Foundation\Application $app

 * @param \Illuminate\Log\Writer $log

 * @return void

 */

 protected function configureSingleHandler(Application $app, Writer $log)

 {

 $config = $app->make(&#39;config&#39;);

 $filename = $config->get(&#39;app.log_path&#39;, &#39;/var/log/nginx/app/system&#39;) . &#39;/&#39; . $config->get(&#39;app.log_name&#39;, &#39;laravel&#39;) . &#39;.log&#39;;

 $log->useFiles($filename);

 }

 /**

 * 设置应用daily模式下的Monolog处理程序

 *

 * @param \Illuminate\Contracts\Foundation\Application $app

 * @param \Illuminate\Log\Writer $log

 * @return void

 */

 protected function configureDailyHandler(Application $app, Writer $log)

 {

 $config = $app->make(&#39;config&#39;);

 $filename = $config->get(&#39;app.log_path&#39;, &#39;/var/log/nginx/app/system&#39;) . &#39;/&#39; . $config->get(&#39;app.log_name&#39;, &#39;laravel&#39;) . &#39;.log&#39;;

 $log->useDailyFiles(

 $filename,

 $app->make(&#39;config&#39;)->get(&#39;app.log_max_files&#39;, 5)

 );

 }

 /**

 * 设置应用syslog模式下的Monolog处理程序

 *

 * @param \Illuminate\Contracts\Foundation\Application $app

 * @param \Illuminate\Log\Writer $log

 * @return void

 */

 protected function configureSyslogHandler(Application $app, Writer $log)

 {

 $log->useSyslog($app->make(&#39;config&#39;)->get(&#39;app.log_name&#39;, &#39;laravel&#39;));

 }

 /**

 * 设置应用errorlog模式下的Monolog处理程序

 *

 * @param \Illuminate\Contracts\Foundation\Application $app

 * @param \Illuminate\Log\Writer $log

 * @return void

 */

 protected function configureErrorlogHandler(Application $app, Writer $log)

 {

 $log->useErrorLog();

 }

}

로그인 후 복사

로그 저장 경로 구성 #

Add

1

APP_NAME=phphub

로그인 후 복사

in .env Add

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

/**

 * 应用程序名称

 */

&#39;name&#39; => env(&#39;APP_NAME&#39;, &#39;laravel&#39;),

/**

 * 日志位置

 */

&#39;log_path&#39; => &#39;/var/log/nginx/app/&#39; . env(&#39;APP_NAME&#39;, &#39;laravel&#39;),

/**

 * 日志文件名称

 */

&#39;log_name&#39; => env(&#39;APP_NAME&#39;, &#39;laravel&#39;),

/**

 * 日志文件最大数

 */

&#39;log_max_files&#39; => &#39;30&#39;,

로그인 후 복사

새 처리 클래스를 config/app.php에 적용 #

Bootstrap/app.php 수정 , 대가로 $ 앱 앞에

1

2

3

4

$app->configureMonologUsing(function($monolog) use ($app) {

 $configureLogging = new App\Foundation\Bootstrap\ConfigureLogging();

 $configureLogging->configureHandlers($app, $app->log);

});

로그인 후 복사

코드를 추가하세요. 이제 Log::info('test log info');测试一下,应该就会将日志记录在/var/log/nginx/app/phphub/phphub.log를 사용할 수 있습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 추천:

laravel 터미널에서 로그를 보는 방법

위 내용은 Laravel은 기본 로그 파일 이름과 위치를 변경합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿