#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdarg.h> #define LOG_SWITCH 1
/* 在想要打印的.c文件中定义并调用即可,注意设置好文件路径 */
void DEV_LOG(const char* ptrFormatInput, ...)
{
time_t systemTime;
struct tm* formatSystemTime = NULL;
char buffer[];
FILE* ptrFile = NULL; if (LOG_SWITCH)
{
ptrFile = fopen("./DEV_LOG.log", "a");
if (ptrFile == NULL) {
return;
}
/* 获取系统时间 */
time(&systemTime);
formatSystemTime = localtime(&systemTime);
(void)sprintf(buffer,
"\r\n[ %u-%u-%u %u:%u:%u ] ",
formatSystemTime->tm_year + ,
formatSystemTime->tm_mon + ,
formatSystemTime->tm_mday,
formatSystemTime->tm_hour,
formatSystemTime->tm_min,
formatSystemTime->tm_sec);
(void)fprintf(ptrFile, "%s", buffer); va_list ptrArgs;
va_start(ptrArgs, ptrFormatInput);
vsnprintf(buffer, sizeof(buffer), ptrFormatInput, ptrArgs);
va_end(ptrArgs); buffer[ - ] = '\0'; (void)fprintf(ptrFile, "%s", buffer);
(void)fclose(ptrFile);
}
} int main() {
char name[] = "tongysihu";
int age = ;
DEV_LOG("SelfInfo -- name : %s, age : %d",name, age);
return ;
}

c语言日志打印的更多相关文章

  1. 在android平台打印C语言日志

    在android平台打印C语言日志 1.操作平台:AS2.0 2.步骤如下: 在C代码中添加如下代码: #define LOG_TAG "我的C语言日志:" #define LOG ...

  2. Android Studio中JNI程序的单步调试和日志打印

    近日有个算法(检测碰撞)需要用C++实现,目的是IOS和ANDROID中共享同一段程序. 下面说说android调用这段程序过程中遇到的一些事情.(过程中网上搜索了一些相关文章,大部分说的是eclip ...

  3. nginx反向代理nginx,RealServer日志打印真实ip

    title: nginx反向代理nginx,RealServer日志打印真实ip date: 2016-05-11 19:15:37 tags: --- nginx反向代理nginx,RealServ ...

  4. android的Log日志打印管理工具类(一)

    android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...

  5. C++日志打印

    C++日志打印: %d              十进制有符号整数 %u              十进制无符号整数 %f              浮点数 %s              字符串 % ...

  6. nginx1.14.0日志打印

    nginx日志打印 http属性log_format来设置日志格式 ,参考 https://www.jb51.net/article/52573.htm  <nginx日志配置指令详解> ...

  7. java中的日志打印

    java中的日志打印: 日志工具类: #获取日志 INFO:表示获取日志的等级 A1:表示日志存器,可以自定义名称 #===DEBUG INFO log4j.rootLogger=DEBUG,A1,A ...

  8. spring cloud feign覆写默认配置级feign client的日志打印

    一.覆写fegin的默认配置 1.新增配置类FeignConfiguration.java package com.config; import org.springframework.context ...

  9. Java编码常见的Log日志打印问题

    前言 本文总结了作者在Java代码检视中遇到的一些关于日志打印的问题,并给出修改建议.因能力有限,难免存在错漏,欢迎指正. 一. 不规范的异常打印 使用slf4j日志组件时,logger.error( ...

随机推荐

  1. 阶段3 2.Spring_01.Spring框架简介_04.spring发展历程

  2. Haproxy 代理

    一:安装haproxy 1:解压   编译   安装 tar zxf haproxy-1.7.9.tar.gz cd  haproxy-1.7.9 uname -e make TARGET=linux ...

  3. nginx查看并发数量

    cat >> /etc/nginx/conf.d/status.conf << EOF server{ listen ; server_name www.test2.com; ...

  4. Unity中的动画系统和Timeline(5) Timeline

    在前面的动画,都是控制单独的物体,比如说控制一个角色的运动.而Timeline,可以对多个物体实施动画,形成过场动画,或者电影效果.比如,很多赛车游戏比赛开始前都会播放一段开场动画,围绕自己车的几个方 ...

  5. java中String中的endsWith()方法

    解释:endsWith() ——此方法测试字符串是否以指定的后缀 suffix 结束. 此方法的定义:public boolean endsWith(String suffix) 我这里判断的是路径是 ...

  6. 【Ruby on Rails 学习四】简单的代码快和错误处理

    第一个例子: 1 ... 5000的加法运算 1 sum = 0 2 i = 1 3 while true 4 sum += i 5 i += 1 6 break if i == 5001 7 end ...

  7. 【Qt开发】Qt5.7串口开发

    QT5有专门的串口类:  QSerialPort:提供访问串口的功能  QSerialPortInfo:提供系统中存在的串口的信息  具体使用方法:  1.在pro文件中加入: QT += seria ...

  8. ocelot集成consul服务发现

    首先下载consul 点击这里下载 转到解压文件夹目录输入cmd命令  consul agent -dev (有时候会卡住按一下方向键上) 在浏览器中输入http://localhost:8500/u ...

  9. python 并发编程 多线程 GIL与Lock

    GIL与Lock Python已经有一个GIL来保证同一时间只能有一个线程来执行了,为什么这里还需要互斥锁lock? 锁的目的是为了保护共享的数据,同一时间只能有一个线程来修改共享的数据 GIT保证了 ...

  10. 解决SQLPLUS ??? 显示的临时办法

    错误现象为: 解决命令 export NLS_LANG=american_america.zhs16gbk