Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apijson-orm和apijson-framework里面打印日志都是输出到控制台,是怎么考虑的 #208

Open
minshiwu opened this issue Mar 18, 2021 · 5 comments
Labels
Enhancement 增强 增强功能、提高性能等 Question 使用问题 使用问题

Comments

@minshiwu
Copy link

环境信息

  • 系统: Linux
  • JDK: 1.8
  • 数据库: 5.7.22
  • APIJSON: 4.6.0

我看apijson里面,打印日志都通过这个Log类来完成。这个类注释:标明是测试使用。但是我们看apijson源码里面很多类,都是使用这个Log输出日志。关键这个类直接输出到console上。而且不支持行号,线程号等信息打印。为什么不使用slf4j这种标准的日志框架。这个是怎么考虑的。

/**测试用Log
 * @modifier Lemon
 */
public class Log {

	public static boolean DEBUG = true;
	
	/**
	 * @param TAG
	 * @param msg
	 */
	public static void d(String TAG, String msg) {
		if (DEBUG) {
			System.err.println(TAG + ".DEBUG: " + msg);
		}
	}
@TommyLemon
Copy link
Collaborator

TommyLemon commented Mar 18, 2021

为了减少外部依赖(减少库下载时间、编译时间、第三方库问题导致编译/运行失败的概率)和方便对外开源过审(License 合规)。
感谢华为工程师的反馈~

@TommyLemon TommyLemon added the Question 使用问题 使用问题 label Mar 18, 2021
@j2go
Copy link

j2go commented May 13, 2021

System.out.println 内部实现
image
内部是有锁的,如果日志这么打感觉不能上生产

@TommyLemon
Copy link
Collaborator

System.out.println 内部实现
image
内部是有锁的,如果日志这么打感觉不能上生产

感谢反馈,日志后续会优化,支持通过重写方法来自定义

@mzlxl
Copy link

mzlxl commented Apr 1, 2022

日志现在有优化过吗

@TommyLemon
Copy link
Collaborator

@j2go @1139221421
不仅我自己优化过,腾讯同事和其它贡献者也提了 PR 优化日志这块
#212
#238

上生产环境或做性能测试前 Log.DEBUG = false 关日志,避免影响性能。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 增强 增强功能、提高性能等 Question 使用问题 使用问题
Projects
None yet
Development

No branches or pull requests

4 participants