文档章节

C 输出log到LogCat

 草帽行者
发布于 2017/04/28 15:51
字数 434
阅读 37
收藏 0

C 输出log到LogCat

[TOC]

1. 新建c文件

2. 添加头文件

#include <android/log.h>

#include <stdio.h>
#include <stdlib.h>
#include <jni.h>
#include <android/log.h>

3. 添加日志输出标志

格式:#define LOG "LogCat中输出日志的标志"

#define LOG "c_log"

4. 给log.h对应的日志输出方法添加别名

格式:#define LOGI(...) __android_log_print(日志等级,日志标志,__VA_ARGS__)

日志等级

  • ANDROID_LOG_VERBOSE
  • ANDROID_LOG_DEBUG
  • ANDROID_LOG_INFO
  • ANDROID_LOG_WARN
  • ANDROID_LOG_ERROR (日志颜色:红色)
  • ANDROID_LOG_FATAL (日志颜色:红色)
#define LOG "c_log"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,LOG,__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__)
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__)

5. 调用对应的方法进行日志输出

LOGV("c输出测试: 等级v");
LOGD("c输出测试: 等级d");
LOGI("c输出测试: 等级i");
LOGW("c输出测试: 等级w");
LOGE("c输出测试: 等级e");
LOGF("c输出测试: 等级f");

6. LogCat显示结果

04-28 15:38:37.328 17454-17454/com.myc D/c_log: c输出测试: 等级d
04-28 15:38:37.328 17454-17454/com.myc I/c_log: c输出测试: 等级i
04-28 15:38:37.328 17454-17454/com.myc W/c_log: c输出测试: 等级w
04-28 15:38:37.328 17454-17454/com.myc E/c_log: c输出测试: 等级e
04-28 15:38:37.328 17454-17454/com.myc A/c_log: c输出测试: 等级f

7. 完整的c文件

#include <stdio.h>
#include <stdlib.h>
#include <jni.h>
#include <android/log.h>

#define LOG "c_log"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,LOG,__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__)
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__)

JNIEXPORT void JNICALL
Java_com_myc_jni_Jni_cLog(JNIEnv *env, jobject instance) {
    LOGV("c输出测试: 等级v");
    LOGD("c输出测试: 等级d");
    LOGI("c输出测试: 等级i");
    LOGW("c输出测试: 等级w");
    LOGE("c输出测试: 等级e");
    LOGF("c输出测试: 等级f");
}

© 著作权归作者所有

共有 人打赏支持
上一篇: GridView 初探
下一篇: JNI 入门
粉丝 6
博文 35
码字总数 29999
作品 0
广州
程序员
私信 提问
Android开发中调试日志的输出方法

程序中输出日志, 使用 android.util.Log 类. 该类提供了若干静态方法 Log.v(String tag, String msg); Log.d(String tag, String msg); Log.i(String tag, String msg); Log.w(String tag, S......

我希冀着
2016/07/22
23
0
Adb logcat 学习汇总

adb logcat -t 10 -v time adb logcat -t 10 -v time 打印最后的10行log信息,每行log信息前带上时间 C:Usersbeijing_zbs>adb logcat -t 10 -v time--------- beginning of /dev/log/system-......

beijing_zbs
2014/10/28
0
0
Logcat相关

一个Android应用程序运行后 并不会在 IDE 的控制台内输出任何信息. 不能在控制台输出。但是android提供的Log类。 在程序中输出日志, 使用 android.util.Log 类. 该类提供了若干静态方法 Log....

木头板板
2016/07/14
3
0
Adb logcat指令说明

一、logcat命令示例 1. adb logcat -v time -s test *:d>d:log.txt 打印出标签带"test"的debug日志到log.txt 2. adb logcat - v time findstr "test" >d:log.txt 只将带"test"的信息打印出来......

孟飞阳
2016/07/05
42
0
如何过滤 adb logcat 输出

简介: 本文介绍如何在 shell 命令行中过滤 adb logcat 输出的几个小技巧。 开发当中经常看到别人的 log 如洪水般瞬间刷满了屏幕,对自己有用的信息都被淹没了,影响心情也影响效率。下面是几...

mahb520
2014/11/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【Flutter教程】从零构建电商应用(一)

在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用。本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用,并学习Flu...

笔阁
15分钟前
1
0
什么是以太坊DAO?(三)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 投票支付合约的所有费用和行动需要时间,并要求用户始终保持活跃,知情和专注。另一...

geek12345
17分钟前
0
0
一个本科学生对Linux的认知

一个本科学生对Linux的认知 我是一名大三的普通一本大学的软件工程的一名学生,学校开设了一些关于系统开发的课程,纸上得来终觉浅,学校的课程课时较短,想要在56个课时之内学会一些公司需要...

linuxCool
59分钟前
2
0
CentOS 安装Tomcat

Tomcat 介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Java 程序写的网站用tomcat+jdk来运...

野雪球
今天
1
0
OSChina 周四乱弹 —— 每天都迟到是种什么样的体验

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席机器人 :《Too Good At Goodbyes (Acoustic) - Sam Smith - 单曲》 《Too Good At Goodbyes (Acoustic) - Sam Smith - 单曲》 ...

小小编辑
今天
709
12

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部