Skip to content

Commit df3772c

Browse files
author
DKravtsov
committed
added support for monolog 3
1 parent d6c6b65 commit df3772c

File tree

12 files changed

+302
-167
lines changed

12 files changed

+302
-167
lines changed

Dockerfile

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
FROM php:8.1-fpm
22

33
# set main params
4-
ARG BUILD_ARGUMENT_DEBUG_ENABLED=false
5-
ENV DEBUG_ENABLED=$BUILD_ARGUMENT_DEBUG_ENABLED
64
ARG BUILD_ARGUMENT_ENV=dev
75
ENV ENV=$BUILD_ARGUMENT_ENV
86
ENV APP_HOME /var/www/html
7+
ARG HOST_UID=1000
8+
ARG HOST_GID=1000
9+
ENV USERNAME=www-data
10+
ARG INSIDE_DOCKER_CONTAINER=1
11+
ENV INSIDE_DOCKER_CONTAINER=$INSIDE_DOCKER_CONTAINER
912

1013
# check environment
1114
RUN if [ "$BUILD_ARGUMENT_ENV" = "default" ]; then echo "Set BUILD_ARGUMENT_ENV in docker build-args like --build-arg BUILD_ARGUMENT_ENV=dev" && exit 2; \
@@ -38,11 +41,12 @@ RUN apt-get update && apt-get upgrade -y && apt-get install -y \
3841
&& rm -rf /var/lib/apt/lists/* \
3942
&& apt-get clean
4043

41-
# create document root
42-
RUN mkdir -p $APP_HOME/public
43-
44-
# change owner
45-
RUN chown -R www-data:www-data $APP_HOME
44+
# create document root, fix permissions for www-data user and change owner to www-data
45+
RUN mkdir -p $APP_HOME/public && \
46+
mkdir -p /home/$USERNAME && chown $USERNAME:$USERNAME /home/$USERNAME \
47+
&& usermod -o -u $HOST_UID $USERNAME -d /home/$USERNAME \
48+
&& groupmod -o -g $HOST_GID $USERNAME \
49+
&& chown -R ${USERNAME}:${USERNAME} $APP_HOME
4650

4751
# put php config for Symfony
4852
COPY ./docker/$BUILD_ARGUMENT_ENV/www.conf /usr/local/etc/php-fpm.d/www.conf
@@ -65,4 +69,4 @@ ENV COMPOSER_ALLOW_SUPERUSER 1
6569
WORKDIR $APP_HOME
6670

6771
# create composer folder for user www-data
68-
RUN mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www/.composer
72+
RUN mkdir -p /var/www/.composer && chown -R ${USERNAME}:${USERNAME} /var/www/.composer

Makefile

Lines changed: 72 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,81 @@
1-
dir=${CURDIR}
1+
ifndef INSIDE_DOCKER_CONTAINER
2+
INSIDE_DOCKER_CONTAINER = 0
3+
endif
24
export COMPOSE_PROJECT_NAME=easy_log_bundle
3-
project=-p ${COMPOSE_PROJECT_NAME}
4-
service=${COMPOSE_PROJECT_NAME}:latest
5-
interactive:=$(shell [ -t 0 ] && echo 1)
6-
ifneq ($(interactive),1)
7-
optionT=-T
5+
HOST_UID := $(shell id -u)
6+
HOST_GID := $(shell id -g)
7+
PHP_USER := -u www-data
8+
PROJECT_NAME := -p ${COMPOSE_PROJECT_NAME}
9+
INTERACTIVE := $(shell [ -t 0 ] && echo 1)
10+
ERROR_ONLY_FOR_HOST = @printf "\033[33mThis command for host machine\033[39m\n"
11+
ifneq ($(INTERACTIVE), 1)
12+
OPTION_T := -T
813
endif
914

1015
build:
11-
@docker-compose -f docker-compose.yml build
16+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
17+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose.yml build
18+
else
19+
$(ERROR_ONLY_FOR_HOST)
20+
endif
1221

1322
start:
14-
@docker-compose -f docker-compose.yml $(project) up -d
23+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
24+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose.yml $(PROJECT_NAME) up -d
25+
else
26+
$(ERROR_ONLY_FOR_HOST)
27+
endif
1528

1629
stop:
17-
@docker-compose -f docker-compose.yml $(project) down
30+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
31+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose.yml $(PROJECT_NAME) down
32+
else
33+
$(ERROR_ONLY_FOR_HOST)
34+
endif
1835

1936
restart: stop start
2037

2138
ssh:
22-
@docker-compose $(project) exec $(optionT) symfony bash
39+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
40+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) symfony bash
41+
else
42+
$(ERROR_ONLY_FOR_HOST)
43+
endif
44+
45+
ssh-root:
46+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
47+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) symfony bash
48+
else
49+
$(ERROR_ONLY_FOR_HOST)
50+
endif
2351

2452
ssh-nginx:
25-
@docker-compose $(project) exec nginx /bin/sh
53+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
54+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec nginx /bin/sh
55+
else
56+
$(ERROR_ONLY_FOR_HOST)
57+
endif
2658

2759
exec:
28-
@docker-compose $(project) exec $(optionT) symfony $$cmd
60+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
61+
@$$cmd
62+
else
63+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) symfony $$cmd
64+
endif
2965

3066
exec-bash:
31-
@docker-compose $(project) exec $(optionT) symfony bash -c "$(cmd)"
67+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
68+
@bash -c "$(cmd)"
69+
else
70+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) symfony bash -c "$(cmd)"
71+
endif
72+
73+
exec-by-root:
74+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
75+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) symfony $$cmd
76+
else
77+
$(ERROR_ONLY_FOR_HOST)
78+
endif
3279

3380
test-using-symfony-4:
3481
@make clean
@@ -52,25 +99,34 @@ test-using-symfony-6:
5299
@make cache-clear-warmup
53100

54101
clean:
55-
@make exec-bash cmd="find . -delete"
102+
@make exec-by-root cmd="find . -delete"
103+
@make exec-by-root cmd="chown -R www-data:www-data /var/www/html"
56104

57105
transfer-monolog-config:
58106
@make exec-bash cmd="mkdir -p /var/www/html/config/packages/dev && cp --force /tmp/monolog.yaml /var/www/html/config/packages/dev/"
59107

60108
install-bundle:
61109
@make exec-bash cmd="composer config extra.symfony.allow-contrib true"
62-
@make exec-bash cmd="composer require --dev systemsdk/easy-log-bundle"
110+
@make exec-bash cmd="composer require --dev systemsdk/easy-log-bundle:*"
63111

64112
cache-clear-warmup:
65113
@make exec-bash cmd="bin/console cache:clear"
66114
@make exec-bash cmd="bin/console cache:warmup"
67115

68116
info:
69-
@make exec cmd="bin/console --version"
70117
@make exec cmd="php --version"
118+
@make exec cmd="bin/console about"
71119

72120
logs:
121+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
73122
@docker logs -f ${COMPOSE_PROJECT_NAME}_symfony
123+
else
124+
$(ERROR_ONLY_FOR_HOST)
125+
endif
74126

75127
logs-nginx:
128+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
76129
@docker logs -f ${COMPOSE_PROJECT_NAME}_nginx
130+
else
131+
$(ERROR_ONLY_FOR_HOST)
132+
endif

composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
"easycorp/easy-log-handler": "*"
2828
},
2929
"require": {
30-
"php": ">=7.4",
31-
"monolog/monolog": "~1.6|~2.0",
32-
"symfony/yaml": "^4.4|^5.0|^6.0",
33-
"symfony/framework-bundle": "^4.4|^5.0|^6.0"
30+
"php": ">=8.1",
31+
"monolog/monolog": "~3.0",
32+
"symfony/yaml": "^6.1",
33+
"symfony/framework-bundle": "^6.1"
3434
},
3535
"autoload": {
3636
"psr-4": {

docker-compose.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: '3'
1+
version: '3.5'
22

33
services:
44

@@ -7,15 +7,15 @@ services:
77
build:
88
context: ./docker/
99
args:
10-
- "BUILD_ARGUMENT_ENV=dev"
10+
BUILD_ARGUMENT_ENV: dev
1111
dockerfile: ./nginx/Dockerfile
1212
container_name: ${COMPOSE_PROJECT_NAME}_nginx
1313
restart: always
1414
ports:
15-
- 80:80
16-
- 443:443
15+
- "80:80"
16+
- "443:443"
1717
volumes:
18-
- ./docker/src:/var/www/html:ro
18+
- ./docker/src:/var/www/html:ro,cached
1919
depends_on:
2020
- symfony
2121
links:
@@ -26,11 +26,12 @@ services:
2626
build:
2727
context: .
2828
args:
29-
- "BUILD_ARGUMENT_ENV=dev"
30-
- "BUILD_ARGUMENT_DEBUG_ENABLED=false"
29+
BUILD_ARGUMENT_ENV: dev
30+
HOST_UID: ${HOST_UID}
31+
HOST_GID: ${HOST_GID}
3132
dockerfile: ./Dockerfile
3233
container_name: ${COMPOSE_PROJECT_NAME}_symfony
3334
expose:
3435
- 9000
3536
volumes:
36-
- ./docker/src:/var/www/html
37+
- ./docker/src:/var/www/html:cached

readme.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@ Symfony log files are formatted in the same way for all environments. This means
1111

1212
This bundle is a new Monolog handler that creates human-friendly log files. It's optimized to display the log information in a clear and concise way. Use it in the development environment to become a much more productive developer.
1313

14-
## Requirements
14+
## Requirements for EasyLogBundle version 2 or later
15+
* PHP 8.1 or later
16+
* Symfony 6.1 or later
17+
* Monolog bundle 3.0 or later
18+
19+
## Requirements for EasyLogBundle version 1
1520
* PHP 7.4 or later
1621
* Symfony 4.4 or later
17-
* Monolog bundle 1.6 or later
22+
* Monolog bundle 1.6 or later up to 2.X
1823

1924
## Contents
2025
1. [Features](#features)
@@ -159,7 +164,7 @@ Use the `buffered` handler to configure the channels logged/excluded and the lev
159164
3. Allow Flex to use contrib recipes and install next symfony bundle:
160165
```bash
161166
$ composer config extra.symfony.allow-contrib true
162-
$ composer require --dev systemsdk/easy-log-bundle
167+
$ composer require --dev systemsdk/easy-log-bundle:*
163168
```
164169

165170
Configuration and Usage

src/DependencyInjection/Compiler/ValidateConfigurationPass.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?php
2-
declare(strict_types = 1);
2+
3+
declare(strict_types=1);
34

45
namespace Systemsdk\Bundle\EasyLogBundle\DependencyInjection\Compiler;
56

src/DependencyInjection/Configuration.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?php
2-
declare(strict_types = 1);
2+
3+
declare(strict_types=1);
34

45
namespace Systemsdk\Bundle\EasyLogBundle\DependencyInjection;
56

src/DependencyInjection/EasyLogExtension.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?php
2-
declare(strict_types = 1);
2+
3+
declare(strict_types=1);
34

45
namespace Systemsdk\Bundle\EasyLogBundle\DependencyInjection;
56

src/EasyLogBundle.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?php
2-
declare(strict_types = 1);
2+
3+
declare(strict_types=1);
34

45
namespace Systemsdk\Bundle\EasyLogBundle;
56

0 commit comments

Comments
 (0)