在不同的编程语言中,打印日志的方法有所不同。以下是几种常见编程语言中打印日志的方法:
Python
在Python中,可以使用内置的`logging`模块来打印日志。以下是一个简单的示例:
```python
import logging
创建一个logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG) 设置日志级别为DEBUG
创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log')
fh.setLevel(logging.DEBUG) 设置handler的日志级别为DEBUG
创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR) 设置handler的日志级别为ERROR
定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
将handler添加到logger
logger.addHandler(fh)
logger.addHandler(ch)
打印日志
logger.debug('这是一条debug信息')
logger.info('这是一条info信息')
logger.warning('这是一条warning信息')
logger.error('这是一条error信息')
logger.critical('这是一条critical信息')
```
Java
在Java中,可以使用`java.util.logging.Logger`类来打印日志。以下是一个简单的示例:
```java
import java.util.logging.Logger;
public class LogExample {
private static final Logger logger = Logger.getLogger("MyLogger");
public static void main(String[] args) {
// 设置日志级别为SEVERE
logger.setLevel(java.util.logging.Level.SEVERE);
// 打印error日志
logger.severe("This is an error message.");
}
}
```
C语言
在C语言中,可以使用自定义的日志函数来打印日志。以下是一个简单的示例:
```c
include include include define MAXFILEPATH 512 define MAXFILENAME 50 typedef enum { ERROR_1 = -1, ERROR_2 = -2, ERROR_3 = -3 } ERROR0; typedef enum { NONE = 0, INFO = 1, DEBUG = 2, WARN = 3, ERROR = 4, ALL = 255 } LOGLEVEL; typedef struct log { char logtime; char filepath[MAXFILEPATH]; FILE *logfile; } LOG; typedef struct logseting { char filepath[MAXFILEPATH]; unsigned int maxfilelen; unsigned char loglevel; } LOGSET; int LogWrite(unsigned char loglevel, char *format, ...) { va_list args; va_start(args, format); LOG log; time_t now = time(NULL); struct tm *timeinfo = localtime(&now); strftime(log.logtime, 20, "%Y-%m-%d %H:%M:%S", timeinfo); log.filepath = '\0'; log.logfile = fopen("log.txt", "a"); if (log.logfile == NULL) { return -1; } log.loglevel = loglevel; fprintf(log.logfile, "[%s] ", log.logtime); vfprintf(log.logfile, format, args); fprintf(log.logfile, "\n"); fclose(log.logfile); va_end(args); return 0; } int main() { LogWrite(ERROR, "This is an error message."); return 0; } ``` JavaScript (Node.js) 在Node.js中,可以使用内置的`console`模块来打印日志。以下是一个简单的示例: ```javascript console.log("这是一条日志信息"); const person = { name: "Tom", age: 18 }; console.log("Person:", person); ``` Android 在Android中,可以使用`android.util.Log`类来打印日志。以下是一个简单的示例: