mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 09:56:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Logging
 | |
| 
 | |
| Strapi relies on an extremely fast Node.js logger called Pino that includes a shell utility to pretty-print its log files. It provides great performances and doesn't slow down your app. The logger is accessible through the global variable `strapi.log` or the request's context `ctx.log` if enabled.
 | |
| 
 | |
| ```js
 | |
| // Folder.js controller
 | |
| const fs = require('fs');
 | |
| const path = require('path');
 | |
| 
 | |
| module.exports = {
 | |
| 
 | |
|   /**
 | |
|    * Retrieve app's folders.
 | |
|    *
 | |
|    * @return {Object|Array}
 | |
|    */
 | |
| 
 | |
|   findFolders: async (ctx) => {
 | |
|     try {
 | |
|       const folders = fs.readdirSync(path.resolve(process.cwd()));
 | |
| 
 | |
|       strapi.log.info(folders); // ctx.log.info(folders);
 | |
| 
 | |
|       ctx.send(folders);
 | |
|     } catch (error) {
 | |
|       strapi.log.fatal(error); // ctx.log.fatal(error);
 | |
|       ctx.badImplementation(error.message);
 | |
|     }
 | |
|   }
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Global logger configuration
 | |
| 
 | |
| The global logger is configured by environment variables.
 | |
| 
 | |
| - `STRAPI_LOG_LEVEL`: Can be fatal, error, warn, info, debug or trace.
 | |
| - `STRAPI_LOG_TIMESTAMP`: Can be true/false
 | |
| - `STRAPI_LOG_PRETTY_PRINT`: Can be true/false
 | |
| - `STRAPI_LOG_FORCE_COLOR`: Can be true/false
 | |
| 
 | |
| ## Request logging middleware
 | |
| 
 | |
| To configure the request-logger middleware, you have to edit the following file `./config/environments/*/request.json`.
 | |
| 
 | |
| 
 | |
| ```json
 | |
| {
 | |
|   ...
 | |
|   "logger": {
 | |
|     "level": "debug",
 | |
|     "exposeInContext": true,
 | |
|     "requests": true
 | |
|   },
 | |
|   ...
 | |
| }
 | |
| ```
 | |
| 
 | |
| - `level`: defines the desired logging level (fatal, error, warn, info, debug, trace).
 | |
| - `exposeInContext`: allows access to the logger through the context.
 | |
| - `requests`: incoming HTTP requests will be logged.
 | |
| 
 | |
| 
 | |
| To find more details about the logger API, please refer to the [Pino documentation](http://getpino.io/#/).
 | 
