《libGDX移动游戏开发从入门到精通》一2.4 日志工具

简介:

本节书摘来异步社区《libGDX移动游戏开发从入门到精通》一书中的第2章,第2.4节,作者: 黄俊东 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 日志工具

众所周知,日志在调试程序的时候起着非常重要的作用。这一节我们就来对比学习Android中的日志工具与libGDX中的日志工具。

2.4.1 Android中的日志等级及输出方法

在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, String msg); 
Log.e(String tag, String msg);

分别对应Verbose、Debug、Info、Warning、Error。tag是一个标识,可以是任意字符串,通常可以使用类名+方法名,主要是用来在查看日志时提供一个筛选条件。

以下通过一个例子来演示使用Android原生来输出日志。

新建一个Android项目,在该项目中的MainActicity中编写以下代码。该代码主要在onCreate( )方法里面通过Log来输出各个级别的日志,用于给大家认识各个级别的日志信息的特点。

public class MainActivity extends Activity {
     @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     Log.v("------->verbose", "这是verbose级别的日志");
     Log.d("------->debug", "这是debug级别的日志");
     Log.i("------->info", "这是info级别的日志");
     Log.w("------->warn", "这是warn级别的日志");
     Log.e("------->error", "这是error级别的日志");
   }
     @Override
   public boolean onCreateOptionsMenu(Menu menu) {
     // Inflate the menu; this adds items to the action bar if it is present.
     getMenuInflater().inflate(R.menu.main, menu);
     return true;
   }
}

程序运行结果如图2.8所示。


2_8

2.4.2 libGDX中的日志等级及输出方法

在libGDX中,如果想要输出日志,主要是通过Application这个接口,它提供了3种输出日志的方式:

Gdx.app.log("MyTag", "my informative message");//对应Android原生的info级别
Gdx.app.error("MyTag", "my error message", exception);//对应error级别
Gdx.app.debug("MyTag", "my debug message");//对应Android原生的debug级别

在libGDX中,可以通过代码来设置日志从哪一个级别开始输出:

Gdx.app.setLogLevel(logLevel);//从logLevel级别开始输出日志

logLevel可以是以下几种中的一种:

Application.LOG_NONE: 过滤掉所有的日志
Application.LOG_DEBUG: 输出>=debug级别的日志。对于libGDX来说,就等于是输出所有日志
Application.LOG_ERROR: 输出>=error级别的日志。对于libGDX来说,就等于是只输出error级别的日志
Application.LOG_INFO: 输出>=info级别的日志。对于libGDX来说,就等于是输出info和error两个级别的日志

以下通过例子来演示libGDX中的日志输出。

新建一个libGDX项目,再去MyGame类编写一下代码(MainActivity类的代码与HelloWorld的相同)。

public class MyGame implements ApplicationListener {
   @Override
   public void create() {
     /**
      * Application.LOG_NONE: 隐藏所有的log()
      * Application.LOG_DEBUG: 显示>=debug级别的log
      * Application.LOG_INFO: 显示>=info级别 的log
      * Application.LOG_ERROR: 显示>=error级别的log
      * 
      * 各个级别的关系如下:
      * verbose
      * debug
      * info
      * warn
      * error 
      * asset
      */
//   Gdx.app.setLogLevel(Application.LOG_NONE);//设置从哪一个级别的日志开始输出
   }
   @Override
   public void dispose() {
   }
   @Override
   public void pause() {
   }
   @Override
   public void render() {
     Gdx.gl.glClearColor(1, 1, 1, 1);// 设置背景为白色
     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);// 清屏
     //测试各个级别的日志输出
//   Gdx.app.log("mytag...", "log mytag"); 
//   Gdx.app.error("mytag error", "log error");
//   Gdx.app.debug("debug mytag...", "my debug tag");
     System.out.println("---------->hello world");
   }
   @Override
   public void resize(int arg0, int arg1) {
   }
   @Override
   public void resume() {
   }
}

在运行的时候,大家可以依次设置各个级别的起始日志来看看Logcat中日志输出的差异。

2.4.3 一种方便的输出日志的方法

2.4.1小节与2.4.2小节分别介绍了Android中与libGDX中输出日志的方式。在真实项目开发中,你还可以通过以下代码来输出日志:

System.out.println("---------->hello world");
这时候你在Logcat中会看到以下效果,如图2.9所示。

2_9

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
11月前
|
运维 安全 数据可视化
日志审查安排工具实战攻略:中小团队如何通过日志审查安排工具建立可控、安全的审查机制?
在审计敏感时代,日志审查安排工具成为安全运维与合规管理的关键利器。它实现审查任务的流程化、周期化与可视化,支持多系统协作、责任到人,确保“可控、可查、可追”的日志治理。工具如板栗看板、Asana、Monday 等提供任务调度、问题闭环与合规对接能力,助力企业构建高效、透明的日志审查体系,提升安全与合规水平。
|
监控 Ubuntu 安全
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
260 1
|
12月前
|
JavaScript API 开发工具
HarmonyOS NEXT实战:日志工具
本文介绍了在HarmonyOS Next应用开发中,如何封装一个简单易用的日志工具LoggerKit。通过使用系统提供的HiLog API,开发者可以灵活输出不同级别的日志信息(DEBUG、INFO、WARN、ERROR、FATAL),用于分析应用运行状态和调试逻辑问题。文章详细说明了日志级别、参数配置及使用注意事项,并提供了完整的TypeScript封装示例代码,便于实际项目集成与应用调试。
270 0
|
机器学习/深度学习 数据可视化
【tensorboard】深度学习的日志信息events.out.tfevents文件可视化工具
【tensorboard】深度学习的日志信息events.out.tfevents文件可视化工具
|
Prometheus Cloud Native Perl
评测Loki日志工具
评测Loki日志工具
510 0
|
存储 人工智能 JSON
RAG Logger:专为检索增强生成(RAG)应用设计的开源日志工具,支持查询跟踪、性能监控
RAG Logger 是一款专为检索增强生成(RAG)应用设计的开源日志工具,支持查询跟踪、检索结果记录、LLM 交互记录和性能监控等功能。
709 7
RAG Logger:专为检索增强生成(RAG)应用设计的开源日志工具,支持查询跟踪、性能监控
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
727 8
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
596 2
|
运维 Prometheus 监控
特定用途的日志分析工具
【10月更文挑战第20天】
885 5
|
存储 机器学习/深度学习 传感器
商业日志分析工具
【10月更文挑战第20天】
464 5