Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split logs when instance.log file is full #12

Open
striderZA opened this issue May 31, 2021 · 0 comments
Open

Split logs when instance.log file is full #12

striderZA opened this issue May 31, 2021 · 0 comments

Comments

@striderZA
Copy link

striderZA commented May 31, 2021

When the instance.log file fills up (in my case, when it reaches 89980 lines), it becomes unwriteable and the docker logs show the errors similar to this:

2021-05-31 18:09:28,339 - AgeFilter - INFO - Validated 49 pairs.
--- Logging error ---
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/logging/handlers.py", line 74, in emit
    self.doRollover()
  File "/usr/local/lib/python3.9/logging/handlers.py", line 177, in doRollover
    self.rotate(self.baseFilename, dfn)
  File "/usr/local/lib/python3.9/logging/handlers.py", line 115, in rotate
    os.rename(source, dest)
OSError: [Errno 16] Device or resource busy: '/freqtrade/freqtrade.log' -> '/freqtrade/freqtrade.log.1'
Call stack:
  File "/home/ftuser/.local/bin/freqtrade", line 33, in <module>
    sys.exit(load_entry_point('freqtrade', 'console_scripts', 'freqtrade')())
  File "/freqtrade/freqtrade/main.py", line 37, in main
    return_code = args['func'](args)
  File "/freqtrade/freqtrade/commands/trade_commands.py", line 19, in start_trading
    worker.run()
  File "/freqtrade/freqtrade/worker.py", line 74, in run
    state = self._worker(old_state=state)
  File "/freqtrade/freqtrade/worker.py", line 111, in _worker
    self._throttle(func=self._process_running, throttle_secs=self._throttle_secs)
  File "/freqtrade/freqtrade/worker.py", line 132, in _throttle
    result = func(*args, **kwargs)
  File "/freqtrade/freqtrade/worker.py", line 145, in _process_running
    self.freqtrade.process()
  File "/freqtrade/freqtrade/freqtradebot.py", line 164, in process
    self.active_pair_whitelist = self._refresh_active_whitelist(trades)
  File "/freqtrade/freqtrade/freqtradebot.py", line 223, in _refresh_active_whitelist
    self.pairlists.refresh_pairlist()
  File "/freqtrade/freqtrade/plugins/pairlistmanager.py", line 87, in refresh_pairlist
    pairlist = pairlist_handler.filter_pairlist(pairlist, tickers)
  File "/freqtrade/freqtrade/plugins/pairlist/AgeFilter.py", line 74, in filter_pairlist
    logger.info(f"Validated {len(pairlist)} pairs.")
Message: 'Validated 49 pairs.'
Arguments: ()

The standard freqtrade method of handling logs is to split up the file once it fills up, but the instance.log mechanism implemented here does not do the same. Please consider adding this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant