Add Loguix
This commit is contained in:
		@@ -5,7 +5,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Utilisation
 | 
					## Utilisation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> - Dès que vous instanciez le package, un dossier `./logs` est crée dans lequels les fichiers journaux vont s'ajouter
 | 
					> - Dès que vous instanciez le package, configurez une seul fois le dossier de destination des logs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					const log = require("loguix")
 | 
				
			||||||
 | 
					log.setup("./logs")
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Fonctions principales
 | 
					### Fonctions principales
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										146
									
								
								main.js
									
									
									
									
									
								
							
							
						
						
									
										146
									
								
								main.js
									
									
									
									
									
								
							@@ -6,54 +6,87 @@ const fs = require("fs")
 | 
				
			|||||||
const path = require("path")
 | 
					const path = require("path")
 | 
				
			||||||
const basic = require("./basics")
 | 
					const basic = require("./basics")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setup()
 | 
					var isSetup = false
 | 
				
			||||||
 | 
					var logInstance = new Map()
 | 
				
			||||||
 | 
					var logStream = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Configuration of Loguix
 | 
					 * Configuration du module
 | 
				
			||||||
 | 
					 * @param {string} logsDir 
 | 
				
			||||||
 | 
					 * @param {string} packageJsonPath
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
function setup() {
 | 
					module.exports.setup = function(logsDir, packageJsonPath) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(!fs.existsSync(__dirname + path.sep + "logs" + path.sep)) { 
 | 
					    if(!isSetup) {
 | 
				
			||||||
        fs.mkdir(__dirname + path.sep + "logs", (err) => {
 | 
					 | 
				
			||||||
            if(!err) {
 | 
					 | 
				
			||||||
               
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                console.log("[Logs] - Dossier de logs crée ! !")
 | 
					        if(!logsDir) {
 | 
				
			||||||
 
 | 
					            return new Error("[Loguix] - Error in Setup : MISS_LOGS_DIR")
 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                console.log("[Logs] - Erreur d'écriture par manque de permission ")
 | 
					 | 
				
			||||||
                console.log(err)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if(!fs.existsSync(logsDir + path.sep)) { 
 | 
				
			||||||
 | 
					            fs.mkdir(logsDir, (err) => {
 | 
				
			||||||
 | 
					                if(!err) {
 | 
				
			||||||
 | 
					                   
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					                    console.log("[Logs] - Dossier de logs crée ! !")
 | 
				
			||||||
 | 
					     
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					                    console.log("[Logs] - Erreur d'écriture par manque de permission ")
 | 
				
			||||||
 | 
					                    console.log(err)
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        logStream = fs.createWriteStream(logsDir + path.sep + basic.getDate(true) + ".log", {
 | 
				
			||||||
 | 
					            flags: 'a'
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        var nameOfPackage = "Unknown"
 | 
				
			||||||
 | 
					        var versionOfPackage = "-.-.-"
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            const packageJson = fs.readFileSync(packageJsonPath)  
 | 
				
			||||||
 | 
					            const packageJsonParsed = JSON.parse(packageJson)
 | 
				
			||||||
 | 
					            nameOfPackage = packageJsonParsed.name
 | 
				
			||||||
 | 
					            versionOfPackage = packageJsonParsed.version
 | 
				
			||||||
 | 
					        } catch (error) {
 | 
				
			||||||
 | 
					            console.log("[Loguix] - Error in Setup : INVALID_PACKAGE_JSON")
 | 
				
			||||||
 | 
					            console.log(error)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const packageJson = fs.readFileSync(packageJsonPath)  
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        logStream.write("[" + nameOfPackage + "@"+ versionOfPackage + "] - [" + basic.getDate(true) + "]" + "\n")
 | 
				
			||||||
 | 
					        logStream.write("----------------------------------------------------------------" + "\n")
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        process.on('uncaughtException', (err) => {
 | 
				
			||||||
 | 
					            console.error("["+ "FATAL" + "] - The application has encountered an error ! Please Restart ! #E = " + err + "\n")
 | 
				
			||||||
 | 
					            console.error(err)
 | 
				
			||||||
 | 
					            logStream.write("[" + basic.getDate() + "] - ["+ "FATAL" + "] - The application has encountered an error ! Please Restart ! #E = " + err + "\n")
 | 
				
			||||||
 | 
					            logStream.end( "["+ "UNCAUGHT_EXCEPTION" + "]" + " - [END OF LOGS] - [" + basic.getDate()  + ']')
 | 
				
			||||||
 | 
					            logStream.close()
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        process.on('beforeExit', (err) => {
 | 
				
			||||||
 | 
					            logStream.end( "["+ "BEFORE_EXIT" + "]" + " - [END OF LOGS] - [" + basic.getDate(true)  + ']')
 | 
				
			||||||
 | 
					            logStream.close()
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        isSetup = true
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        console.log("Loguix is already configure")
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    logStream = fs.createWriteStream(__dirname + path.sep + "logs" + path.sep + basic.getDate(true) + ".log", {
 | 
					 | 
				
			||||||
        flags: 'a'
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    process.config.variables.
 | 
					   
 | 
				
			||||||
    logStream.write("[" + npm_package_name + "@"+ npm_package_version + "] - [" + basic.getDate(true) + "]" + "\n")
 | 
					   
 | 
				
			||||||
    logStream.write("----------------------------------------------------------------" + "\n")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    process.on('uncaughtException', (err) => {
 | 
					 | 
				
			||||||
        console.error("["+ "FATAL" + "] - The application has encountered an error ! Please Restart ! #E = " + err + "\n")
 | 
					 | 
				
			||||||
        console.error(err)
 | 
					 | 
				
			||||||
        logStream.write("[" + basic.getDate() + "] - ["+ "FATAL" + "] - The application has encountered an error ! Please Restart ! #E = " + err + "\n")
 | 
					 | 
				
			||||||
        logStream.end( "["+ "UNCAUGHT_EXCEPTION" + "]" + " - [END OF LOGS] - [" + basic.getDate()  + ']')
 | 
					 | 
				
			||||||
        logStream.close()
 | 
					 | 
				
			||||||
         
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    process.on('beforeExit', (err) => {
 | 
					 | 
				
			||||||
        logStream.end( "["+ "BEFORE_EXIT" + "]" + " - [END OF LOGS] - [" + basic.getDate(true)  + ']')
 | 
					 | 
				
			||||||
        logStream.close()
 | 
					 | 
				
			||||||
         
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -76,7 +109,7 @@ module.exports.LogType = class {
 | 
				
			|||||||
       
 | 
					       
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        var logtext = "[" + this.type + "] - [INFO] - " + txt
 | 
					        var logtext = "[" + this.type + "] - [INFO] - " + txt
 | 
				
			||||||
        logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					        logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
        console.log(logtext)
 | 
					        console.log(logtext)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
@@ -85,7 +118,7 @@ module.exports.LogType = class {
 | 
				
			|||||||
    warn(txt) {
 | 
					    warn(txt) {
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        var logtext = "[" + this.type + "] - [WARN] - " + txt
 | 
					        var logtext = "[" + this.type + "] - [WARN] - " + txt
 | 
				
			||||||
        logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					        logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
        console.log(logtext)
 | 
					        console.log(logtext)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -94,7 +127,7 @@ module.exports.LogType = class {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var logtext = "[" + this.type + "] - [ERROR] - " + txt
 | 
					        var logtext = "[" + this.type + "] - [ERROR] - " + txt
 | 
				
			||||||
        logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					        logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
        console.log(logtext)
 | 
					        console.log(logtext)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
@@ -110,7 +143,7 @@ module.exports.LogType = class {
 | 
				
			|||||||
            init: function(id, desc) {
 | 
					            init: function(id, desc) {
 | 
				
			||||||
                parent.steps.set(id, desc)
 | 
					                parent.steps.set(id, desc)
 | 
				
			||||||
                var logtext = "[" + parent.type + "] - [INFO] - [STEP] - " + desc + " - En cours ..."
 | 
					                var logtext = "[" + parent.type + "] - [INFO] - [STEP] - " + desc + " - En cours ..."
 | 
				
			||||||
                logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					                logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
                console.log(logtext)
 | 
					                console.log(logtext)
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@@ -119,13 +152,13 @@ module.exports.LogType = class {
 | 
				
			|||||||
                if(parent.steps.has(id)) {
 | 
					                if(parent.steps.has(id)) {
 | 
				
			||||||
                    
 | 
					                    
 | 
				
			||||||
                    var logtext = "[" + parent.type + "] - [INFO] - [STEP] - " + parent.steps.get(id) + " - Terminé !"
 | 
					                    var logtext = "[" + parent.type + "] - [INFO] - [STEP] - " + parent.steps.get(id) + " - Terminé !"
 | 
				
			||||||
                    logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					                    logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
                    console.log(logtext)
 | 
					                    console.log(logtext)
 | 
				
			||||||
                    parent.steps.delete(id)
 | 
					                    parent.steps.delete(id)
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    
 | 
					                    
 | 
				
			||||||
                    var logtext = "[" + parent.type + "] - [WARN] - [STEP] - '" + id +  "' n'est pas enregistré en tant qu'étape !"
 | 
					                    var logtext = "[" + parent.type + "] - [WARN] - [STEP] - '" + id +  "' n'est pas enregistré en tant qu'étape !"
 | 
				
			||||||
                    logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					                    logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
                    console.log(logtext)
 | 
					                    console.log(logtext)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -136,13 +169,13 @@ module.exports.LogType = class {
 | 
				
			|||||||
                if(parent.steps.has(id)) {
 | 
					                if(parent.steps.has(id)) {
 | 
				
			||||||
                   
 | 
					                   
 | 
				
			||||||
                    var logtext = "[" + parent.type + "] - [ERROR] - [STEP] - " + parent.steps.get(id) + " - Une erreur a été rencontré dans l'étape ! : #E = " + errorDesc
 | 
					                    var logtext = "[" + parent.type + "] - [ERROR] - [STEP] - " + parent.steps.get(id) + " - Une erreur a été rencontré dans l'étape ! : #E = " + errorDesc
 | 
				
			||||||
                    logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					                    logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
                    console.log(logtext)
 | 
					                    console.log(logtext)
 | 
				
			||||||
                    parent.steps.delete(id)
 | 
					                    parent.steps.delete(id)
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    
 | 
					                    
 | 
				
			||||||
                    var logtext = "[" + parent.type + "] - [WARN] - [STEP] - '" + id +  "' n'est pas enregistré en tant qu'étape !"
 | 
					                    var logtext = "[" + parent.type + "] - [WARN] - [STEP] - '" + id +  "' n'est pas enregistré en tant qu'étape !"
 | 
				
			||||||
                    logStream.write("[" + getDate() + "] - " + logtext + "\n")
 | 
					                    logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
                    console.log(logtext)
 | 
					                    console.log(logtext)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -153,3 +186,20 @@ module.exports.LogType = class {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports.getInstance = function (name) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(logInstance.has(name)) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return logInstance.get(name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        var logtext = "[Logs] - [ERROR] - '" + name +  "' n'est pas enregistré en tant qu'instance de log !"
 | 
				
			||||||
 | 
					        logStream.write("[" + basic.getDate() + "] - " + logtext + "\n")
 | 
				
			||||||
 | 
					        console.error(logtext)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return null
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "loguix",
 | 
					  "name": "loguix",
 | 
				
			||||||
  "version": "1.2.0",
 | 
					  "version": "1.4.1",
 | 
				
			||||||
  "description": "Systeme de journaux simplifié",
 | 
					  "description": "Systeme de journaux simplifié",
 | 
				
			||||||
  "main": "main.js",
 | 
					  "main": "main.js",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user