Add ability to generate a log file

Signed-off-by: acg5159 <acg5159@gmail.com>
This commit is contained in:
acg5159 2025-04-12 01:16:45 -04:00
parent ce5369dd41
commit 00d26ac3fe
3 changed files with 19 additions and 1 deletions

View File

@ -38,7 +38,12 @@ RUN dpkg -i /libgl1-mesa-dri.deb \
# Create flaresolverr user # Create flaresolverr user
&& useradd --home-dir /app --shell /bin/sh flaresolverr \ && useradd --home-dir /app --shell /bin/sh flaresolverr \
&& mv /usr/bin/chromedriver chromedriver \ && mv /usr/bin/chromedriver chromedriver \
&& chown -R flaresolverr:flaresolverr . && chown -R flaresolverr:flaresolverr . \
# Create config dir
&& mkdir /config \
&& chown flaresolverr:flaresolverr /config
VOLUME /config
# Install Python dependencies # Install Python dependencies
COPY requirements.txt . COPY requirements.txt .

View File

@ -7,9 +7,12 @@ services:
container_name: flaresolverr container_name: flaresolverr
environment: environment:
- LOG_LEVEL=${LOG_LEVEL:-info} - LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_FILE=flaresolver.log
- LOG_HTML=${LOG_HTML:-false} - LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- TZ=Europe/London - TZ=Europe/London
ports: ports:
- "${PORT:-8191}:8191" - "${PORT:-8191}:8191"
volumes:
- /var/lib/flaresolver:/config
restart: unless-stopped restart: unless-stopped

View File

@ -76,6 +76,7 @@ if __name__ == "__main__":
# validate configuration # validate configuration
log_level = os.environ.get('LOG_LEVEL', 'info').upper() log_level = os.environ.get('LOG_LEVEL', 'info').upper()
log_file = os.environ.get('LOG_FILE', None)
log_html = utils.get_config_log_html() log_html = utils.get_config_log_html()
headless = utils.get_config_headless() headless = utils.get_config_headless()
server_host = os.environ.get('HOST', '0.0.0.0') server_host = os.environ.get('HOST', '0.0.0.0')
@ -93,6 +94,15 @@ if __name__ == "__main__":
logging.StreamHandler(sys.stdout) logging.StreamHandler(sys.stdout)
] ]
) )
if log_file:
if not log_file.startswith("/config"):
log_file = "/config/" + log_file
log_file = os.path.realpath(log_file)
log_path = os.path.dirname(log_file)
os.makedirs(log_path, exist_ok=True)
logging.getLogger().addHandler(logging.FileHandler(log_file))
# disable warning traces from urllib3 # disable warning traces from urllib3
logging.getLogger('urllib3').setLevel(logging.ERROR) logging.getLogger('urllib3').setLevel(logging.ERROR)
logging.getLogger('selenium.webdriver.remote.remote_connection').setLevel(logging.WARNING) logging.getLogger('selenium.webdriver.remote.remote_connection').setLevel(logging.WARNING)