pickle.loads() to fix the (finally rejected) security vulnerability referenced as CVE-2022-0329 <https://nvd.nist.gov/vuln/detail/CVE-2022-0329>_ (#563 <https://github.com/Delgan/loguru/issues/563>_).loop=None and no event loop is running (due to internally using asyncio.get_running_loop() in place of asyncio.get_event_loop()).enqueue=True if loop=None and no event loop is running.utf8 instead of locale.getpreferredencoding() (#339 <https://github.com/Delgan/loguru/issues/339>_).serialize=True (#575 <https://github.com/Delgan/loguru/pull/575>, thanks @ponponon <https://github.com/ponponon>).flake8 errors and improve code readability (#353 <https://github.com/Delgan/loguru/issues/353>, thanks @AndrewYakimets <https://github.com/AndrewYakimets>).enqueue=True with third party library like uwsgi (#309 <https://github.com/Delgan/loguru/issues/309>, thanks @dstlmrk <https://github.com/dstlmrk>).#331 <https://github.com/Delgan/loguru/issues/331>_).AttributeError within handlers using serialize=True when calling logger.exception() outside of the context of an exception (#296 <https://github.com/Delgan/loguru/issues/296>_).value to a handler with enqueue=True (#298 <https://github.com/Delgan/loguru/issues/298>_).__call__ method) used as sinks (#294 <https://github.com/Delgan/loguru/pull/294>, thanks @jessekrubin <https://github.com/jessekrubin>).extra dict is used by LogRecord in order to prevent possible KeyError with standard logging handlers (#271 <https://github.com/Delgan/loguru/issues/271>_).default optional argument to logger.catch(), it should be the returned value by the decorated function in case an error occurred (#272 <https://github.com/Delgan/loguru/issues/272>_).ValueError when using serialize=True in combination with logger.catch() or logger.opt(record=True) due to circular reference of the record dict (#286 <https://github.com/Delgan/loguru/issues/286>_).no of levels once they have been added in order to prevent surprising behavior (#209 <https://github.com/Delgan/loguru/issues/209>_).**kwargs to the extra dict besides using these arguments to format the message. This behavior can be disabled by setting the new .opt(capture=False) parameter (#2 <https://github.com/Delgan/loguru/issues/2>_).onerror optional argument to logger.catch(), it should be a function which will be called when an exception occurs in order to customize error handling (#224 <https://github.com/Delgan/loguru/issues/224>_).exclude optional argument to logger.catch(), is should be a type of exception to be purposefully ignored and propagated to the caller without being logged (#248 <https://github.com/Delgan/loguru/issues/248>_).complete() to make it callable from non-asynchronous functions, it can thus be used if enqueue=True to make sure all messages have been processed (#231 <https://github.com/Delgan/loguru/issues/231>_).multiprocessing.Process() collides with enqueue=True or threading (#231 <https://github.com/Delgan/loguru/issues/231>_).compression function not executable concurrently due to file renaming (to resolve conflicts) being performed after and not before it (#243 <https://github.com/Delgan/loguru/issues/243>_).retention being too restrictive, it now matches files based on the pattern "basename(.*).ext(.*)" (#229 <https://github.com/Delgan/loguru/issues/229>_).remove() a handler if an exception is raised while the sink' stop() function is called (#237 <https://github.com/Delgan/loguru/issues/237>_).retention or compression process (#238 <https://github.com/Delgan/loguru/issues/238>_).record["message"] were unexpectedly ignored when opt(colors=True), causing "out-of-date" message to be logged due to implementation details (#221 <https://github.com/Delgan/loguru/issues/221>_).isatty() method returning True but not being compatible with colorama is used on Windows (#249 <https://github.com/Delgan/loguru/issues/249>_).#227 <https://github.com/Delgan/loguru/issues/227>_).ansi parameter of .opt() in favor of colors which is a name more appropriate.retention process (#195 <https://github.com/Delgan/loguru/issues/195>, thanks @gazpachoking <https://github.com/gazpachoking>).record["message"] when logging with .opt(ansi=True) instead of leaving them as is (#198 <https://github.com/Delgan/loguru/issues/198>_).*args and **kwargs when logging with .opt(ansi=True), leave them as is instead of trying to use them to colorize the message which could cause undesirable errors (#197 <https://github.com/Delgan/loguru/issues/197>_).logger.complete() asynchronous method to await them (#171 <https://github.com/Delgan/loguru/issues/171>_).dict passed to the filter argument (#148 <https://github.com/Delgan/loguru/issues/148>_)..pyi stub file (#162 <https://github.com/Delgan/loguru/issues/162>_).copy.deepcopy() of the logger allowing multiple independent loggers with separate set of handlers (#72 <https://github.com/Delgan/loguru/issues/72>_).datetime to UTC before formatting (in logs and filenames) by adding "!UTC" at the end of the time format specifier (#128 <https://github.com/Delgan/loguru/issues/128>_).name as the first argument of namedtuple returned by the .level() method.class objects from the list of supported sinks and restrict usage of **kwargs in .add() to file sink only. User is in charge of instantiating sink and wrapping additional keyword arguments if needed, before passing it to the .add() method.logger.configure() keyword argument patch to patcher so it better matches the signature of logger.patch().multiprocessing on Windows by entirely refactoring the internal structure of the logger so it can be inherited by child processes along with added handlers (#108 <https://github.com/Delgan/loguru/issues/108>_).AttributeError while using a file sink on some distributions (like Alpine Linux) missing the os.getxattr and os.setxattr functions (#158 <https://github.com/Delgan/loguru/pull/158>, thanks @joshgordon <https://github.com/joshgordon>).diagnose=True (#144 <https://github.com/Delgan/loguru/issues/144>_).logging.Handler sinks with .opt(raw=True) (#136 <https://github.com/Delgan/loguru/issues/136>_).#179 <https://github.com/Delgan/loguru/issues/179>_).filter function "by name" while receiving a log with record["name"] equals to None.catch=True) occurring because of non-picklable objects (if enqueue=True).ImportError if a Python installation is missing the built-in distutils module (#118 <https://github.com/Delgan/loguru/issues/118>_).TypeError instead of ValueError when a logger method is called with argument of invalid type.ValueError if the built-in format() and filter() functions are respectively used as format and filter arguments of the add() method. This helps the user to understand the problem, as such a mistake can quite easily occur (#177 <https://github.com/Delgan/loguru/issues/177>_).str (for "level", "file", "thread" and "process").enqueue=True (#174 <https://github.com/Delgan/loguru/pull/174>, thanks @t-mart <https://github.com/t-mart>).-s and -S flags causing site.USER_SITE to be missing (#114 <https://github.com/Delgan/loguru/issues/114>_).retention and rotation issues when file sink initiliazed with delay=True (#113 <https://github.com/Delgan/loguru/issues/113>_)."sec" no longer recognized as a valid duration unit for file rotation and retention arguments.@logger.catch when backtrace=False."{time}" not presents in filename) so it's based on the file creation time rather than the current time.loguru (on Windows platform, it solely remains colorama and win32-setctime).logger.patch() method which can be used to modify the record dict on-the-fly before it's being sent to the handlers.backtrace so it only extends the stacktrace upward, the display of variables values is now controlled with the new diagnose argument (#49 <https://github.com/Delgan/loguru/issues/49>_).rotation option in file sinks: it is now based on the file creation time rather than the current time, note that proper support may differ depending on your platform (#58 <https://github.com/Delgan/loguru/issues/58>_).#57 <https://github.com/Delgan/loguru/issues/57>_).</> (e.g. <yellow>message</>).diagnose and backtrace options are False.sys.tracebacklimit variable (#77 <https://github.com/Delgan/loguru/issues/77>_).__repr__ value to the logger for convenient debugging (#84 <https://github.com/Delgan/loguru/issues/84>_).<red,blue>) for simplification.record["exception"] attribute unpackable as a (type, value, traceback) tuple.frame.f_globals dict did not contain "__name__" key and hence prevented Loguru to retrieve the module's name. From now, record["name"] will be equal to None in such case (#62 <https://github.com/Delgan/loguru/issues/62>_).pickle and hence raising exception while being passed to some multiprocessing functions (#102 <https://github.com/Delgan/loguru/issues/102>_).AttributeError while formatting exceptions within a celery task (#52 <https://github.com/Delgan/loguru/issues/52>_).logger.catch decorator not working with generator and coroutine functions (#75 <https://github.com/Delgan/loguru/issues/75>_).record["path"] case being normalized for no necessary reason (#85 <https://github.com/Delgan/loguru/issues/85>_).#104 <https://github.com/Delgan/loguru/issues/104>_).enqueue=True stopping working if exception was raised in sink although catch=True.enable() and disable() being called during logging.#41 <https://github.com/Delgan/loguru/issues/41>_).