LibreTime: Radio Broadcast & Automation Platform
Go to file
Jonas L 5c72f714a8
feat(playout): enhance playout logging (#1495)
Some initial work on modernizing the playout app. This replace any custom logger or
logging based logger with the logging tools from libretime_shared.logging and loguru.

Removed all the thread/function assigned logger (self.logger = ...), as this makes it
part of the logic (passing logger though function args) as it should not.

Of a dedicated logger is required for a specific task, it should use
the create_task_logger function.

- refactor: remove dead code
- refactor: remove py2 specific fix
- feat: remove unused test command
- feat: setup shared cli and logging tools
- feat: replace logging with loguru
- feat: setup shared cli and logging tools for notify
- fix: warn method deos not exist
- feat: make cli setup the entrypoint
- fix: install shared modules globally in production
  use extra_requires to load local packages in dev environement
- feat: configure log path in systemd service
- feat: default behavior is to log to console only
- feat: create log dir during install
- chore: add comment
- fix: don't create useless dir in install
- fix: move notify logs to /var/log/libretime dir
- fix: update setup_logger attrs
- style: linting
- fix: replace verbosity flag with log-level flag
- feat: use shared logging tool in liquidsoap
- fix: pass logger down to api client
- feat: allow custom log_filepath in liquidsoap config
- chore: add pylintrc to playout
- refactor: fix pylint errors
- feat: set liquidsoap log filepath in systemd service
- fix: missing setup entrypoint update

BREAKING CHANGE: for playout and liquidsoap the default log file path changed to None
and will only log to the console when developing / testing. Unless you are running the
app as a systemd service (production) the default logs filepaths changed:
from "/var/log/airtime/pypo/pypo.log" to "/var/log/libretime/playout.log" and
from "/var/log/airtime/pypo-liquidsoap/ls_script.log" to "/var/log/libretime/liquidsoap.log"

BREAKING CHANGE: for playout-notify the default log file path changed
from "/var/log/airtime/pypo/notify.log" to "/var/log/libretime/playout-notify.log"
2022-01-13 17:11:37 +02:00
.github chore: bump amannn/action-semantic-pull-request from 3.5.0 to 3.6.0 (#1500) 2022-01-10 11:13:06 +02:00
analyzer chore: rename common section to python (#1509) 2022-01-13 07:12:50 +02:00
api chore: rename common section to python (#1509) 2022-01-13 07:12:50 +02:00
api_client chore: fixes after libretime_api_client rename 2022-01-04 09:18:58 +02:00
docs feat: debian 11 support (#1292) 2021-11-09 11:21:40 +02:00
installer chore: add auto-apt-proxy to vagrant prepare (#1511) 2022-01-13 09:59:51 +02:00
legacy fix(legacy): validate id param in show image controller (#1510) 2022-01-13 07:10:32 +02:00
logo Fix mixed line ending 2021-06-04 17:06:05 +02:00
playout feat(playout): enhance playout logging (#1495) 2022-01-13 17:11:37 +02:00
shared fix: change filepath options type to pathlib.Path (#1506) 2022-01-12 23:06:51 +02:00
tools chore: exclude packages sections using tools/packages.py (#1499) 2022-01-10 08:23:37 +02:00
utils chore: fixes after libretime_api_client rename 2022-01-04 09:18:58 +02:00
worker chore: fixes after libretime_worker rename 2022-01-04 09:18:58 +02:00
.codespellignore Fix end of files 2021-06-04 17:06:05 +02:00
.gitattributes Create .gitattributes to ensure proper cloning with Windows Git 2017-04-09 14:41:52 -04:00
.gitignore Move composer files in airtime_mvc 2021-09-11 04:48:53 +02:00
.pre-commit-config.yaml Better format enforcing (#1391) 2021-10-17 16:24:37 +02:00
CONTRIBUTING.md chore: fixes after libretime_api rename 2022-01-04 09:18:58 +02:00
LEGACY.md Add Table of Content to LEGACY file 2021-09-02 20:55:16 +02:00
LICENSE Small update to LICENSE 2021-09-02 16:06:26 +02:00
Makefile chore: Enhance release workflow (#1400) 2021-10-15 14:59:59 +02:00
README.md Update README.md (#1420) 2021-10-17 20:08:12 +02:00
Vagrantfile chore: allow no port fowarding in vagrant (#1498) 2022-01-10 08:20:45 +02:00
cloud-init.yml Format code using prettier 2021-06-04 17:04:53 +02:00
install feat(playout): enhance playout logging (#1495) 2022-01-13 17:11:37 +02:00
jekyll.sh Fix shellcheck errors 2021-08-17 12:23:32 +02:00
packages.ini feat: debian 11 support (#1292) 2021-11-09 11:21:40 +02:00
uninstall chore: resolve shell warnings 2021-11-08 20:57:41 +01:00

README.md

Tests Financial Contributors on Open Collective

LibreTime makes it easy to run your own online or terrestrial radio station. It is a community managed fork of the AirTime project.

It is managed by a friendly inclusive community of stations from around the globe that use, document and improve LibreTime. Join us in fixing bugs and in defining how we manage the codebase going forward.

We are currently ramping up development on this repository.

Check out the documentation for more information and start broadcasting!

Please note that LibreTime is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Please submit enhancements, bugfixes or comments via GitHub.

Development Process

The LibreTime follows the standardized Collective Code Construction Contract (C4). Its abstract is provided here.

C4 provides a standard process for contributing, evaluating and discussing improvements on software projects. It defines specific technical requirements for projects like a style guide, unit tests, git and similar platforms. It also establishes different personas for projects, with clear and distinct duties. C4 specifies a process for documenting and discussing issues including seeking consensus and clear descriptions, use of "pull requests" and systematic reviews.

The full text of the contract is licensed under the GPL and available at the above link courtesy of the ZeroMQ community.

Releasing

The LibreTime maintainers release new versions of LibreTime at regular intervals. We follow the Semantic Versioning standards.

In a nutshell, given a version number MAJOR.MINOR.PATCH we increment the:

  1. MAJOR version when we make incompatible API changes,
  2. MINOR version when we add functionality in a backwards-compatible manner, and
  3. PATCH version when we make backwards-compatible bug fixes.

Given the history of the project we will be starting with version 3.0.0.

Stay tuned for early alphas and lots of betas as we get development up and running.

Support

To get support for any questions or problems you might have using the software we have a forum at discourse.libretime.org. We are moving towards using the forum to provide community support and reserving the github issue queue for confirmed bugs and well-formed feature requests.

You can also contact us through our Mattermost instance where you can talk with other users and developers.

Contributors

Code Contributors

This project exists thanks to all the people who contribute.

Financial Contributors

Become a financial contributor and help us sustain our community on OpenCollective.

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website.

License

LibreTime is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.

Copyright (c) 2011-2017 Sourcefabric z.ú.

Copyright (c) 2017-2021 LibreTime Community

Please refer to the LEGACY file for more information.