Readme, and comments
This commit is contained in:
		
							parent
							
								
									4f47abbade
								
							
						
					
					
						commit
						b0dab7ac6e
					
				
							
								
								
									
										52
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								README.md
									
									
									
									
									
								
							@ -1,5 +1,55 @@
 | 
			
		||||
 | 
			
		||||
# A simple Logging library for C++
 | 
			
		||||
# A simple Logging library for C++ programs
 | 
			
		||||
 | 
			
		||||
Logging errors to a file, daily file rotation, date and time stamps. Configurable record structure etc. 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
 | 
			
		||||
- Object oriented
 | 
			
		||||
- Customizable directory for files
 | 
			
		||||
- Daily file rotation
 | 
			
		||||
- Protection of recording consecutive errors
 | 
			
		||||
- Thread safe
 | 
			
		||||
- Exceptions
 | 
			
		||||
- The possibility of printing logs in the console
 | 
			
		||||
- Ability to keep log file open for faster speed
 | 
			
		||||
- Supports multiple simultaneous log files by custom directories
 | 
			
		||||
 | 
			
		||||
## Installation
 | 
			
		||||
 | 
			
		||||
Just download the latest release and unzip it into your project. You can turn it on with:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
#include "log/lib/log.hpp"
 | 
			
		||||
using namespace marcelb;
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
```c++
 | 
			
		||||
/**
 | 
			
		||||
* Initialization and declaration
 | 
			
		||||
*/
 | 
			
		||||
log mylog("../log");
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
* Put log in file
 | 
			
		||||
*/
 | 
			
		||||
mylog.put("[EVENT] Start loging");
 | 
			
		||||
```
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[APACHE 2.0](http://www.apache.org/licenses/LICENSE-2.0/)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Support & Feedback
 | 
			
		||||
 | 
			
		||||
For support and any feedback, contact the address: marcelb96@yahoo.com.
 | 
			
		||||
 | 
			
		||||
## Contributing
 | 
			
		||||
 | 
			
		||||
Contributions are always welcome!
 | 
			
		||||
 | 
			
		||||
Feel free to fork and start working with or without a later pull request. Or contact for suggest and request an option.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										48
									
								
								lib/log.hpp
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								lib/log.hpp
									
									
									
									
									
								
							@ -13,8 +13,10 @@ namespace marcelb {
 | 
			
		||||
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Log class - used at the level of one log directory
 | 
			
		||||
*/
 | 
			
		||||
class log {
 | 
			
		||||
    public:
 | 
			
		||||
    string dir;
 | 
			
		||||
    bool isKeepOpen;
 | 
			
		||||
    bool printInConsole;
 | 
			
		||||
@ -24,16 +26,54 @@ class log {
 | 
			
		||||
    string path;
 | 
			
		||||
    mutex io;
 | 
			
		||||
 | 
			
		||||
    log (string _dir, bool _isKeepOpen = true, bool _printInConsole = false);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Checking if the path is in the string dir directory
 | 
			
		||||
    */
 | 
			
		||||
    bool isdir();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Opens the log file
 | 
			
		||||
    */
 | 
			
		||||
    bool open();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Closes the log file
 | 
			
		||||
    */
 | 
			
		||||
    void loose();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get time
 | 
			
		||||
    */
 | 
			
		||||
    void setMoment();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Generate full log file path
 | 
			
		||||
    */
 | 
			
		||||
    void setPath();
 | 
			
		||||
    void put(string logline);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set log line time prefix
 | 
			
		||||
    */
 | 
			
		||||
    void setPrefix(string &logline);
 | 
			
		||||
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Constructor,
 | 
			
		||||
     * receives the log directory path,
 | 
			
		||||
     * optional: a bool variable if it keeps the file open, 
 | 
			
		||||
     * and a bool variable if it prints log lines to the console
 | 
			
		||||
    */
 | 
			
		||||
    log (string _dir, bool _isKeepOpen = true, bool _printInConsole = false);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Put string log in file
 | 
			
		||||
    */
 | 
			
		||||
    void put(string logline);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Destruktor, close log files
 | 
			
		||||
    */
 | 
			
		||||
    ~log();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user