Giter Club home page Giter Club logo

small-better-logger's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

small-better-logger's Issues

TODOs

To be implemented:

  • Change date formats to use the C++20 <chrono> way and provide "legacy" support

In progress:

Implemented:

  • See whether or not it makes sense to keep rvalue overloads of methods
  • On strrchr call, check if return value is 0/nullptr and handle it
  • Check return by const values to actually make sense
  • Change inlines from declaration to definitions as per guideline
  • OS detection with predefined macros
  • Thread-safety for sblogger::FileLogger and sblogger::StreamLogger
  • Add a Wiki
  • Continue updating README.md (currently: add notes for new trace, debug etc. methods; defining default log level section etc)
  • Test on Linux
  • Fix ctors of sblogger::DailyLogger (remove ceiling)
  • sblogger::FileLogger add getter for m_FilePath (with recreating file stream on set)
  • Daily created file logs (changing the log file every day at a specified hour)
  • Fix bug crashing when non-date placeholders not changed before replacing dates
  • On error logging add file and line macros for more insight into the error
  • Add colors for stream logging
  • More complex formats (ex.: log date as yyyy-MM-dd)
  • Change std::string to std::string_view wherever sensible
  • Fix std::string_view in sblogger::Logger constructor for legacy (pre C++17)
  • Replace usage of <regex> methods where sensible, in favour of <string>/pcre
  • Different log types/levels for sblogger::Logger::Write & sblogger::Logger::WriteLine (ex.: Error, Log, Debug, Trace etc.)
  • Fix __cplusplus if statements & sblogger::FileLogger::Flush to flush only if stream is open
  • Added Legacy support for pre C++17 compilers
  • Fix bug in std::StreamLogger constructor, that makes std::StreamLogger("format") access the wrong constructor, instead of the one with mandatory format and optional autoflush
  • Change file path regex to using <filesystem>
  • Log formats
  • Fix regex ending
  • Clear file log with FileLogger (sblogger::FileLogger::ClearLogs)
  • Regex validation of file path
  • Custom exception for the library

Maybe?

  • Fix replaceDateFormats(std::string&) maybe memory problem

Abandoned:

  • Logger factory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.