log编程怎么打印日志

时间:2025-01-25 15:08:57 网络游戏

在不同的编程语言中,打印日志的方法有所不同。以下是几种常见编程语言中打印日志的方法:

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`类来打印日志。以下是一个简单的示例: