log_utils.dart 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'dart:developer';
  2. /// 输出Log工具类
  3. class Log {
  4. static const String _defTag = 'LogUtil';
  5. static bool _debugMode = false; //是否是debug模式,true: log v 不输出.
  6. static int _maxLen = 128;
  7. static String _tagValue = _defTag;
  8. static void init({
  9. String tag = _defTag,
  10. bool isDebug = false,
  11. int maxLen = 128,
  12. }) {
  13. _tagValue = tag;
  14. _debugMode = isDebug;
  15. _maxLen = maxLen;
  16. }
  17. static void d(Object? object, {String? tag}) {
  18. if (_debugMode) {
  19. log('$tag d | ${object?.toString()}');
  20. }
  21. }
  22. static void e(Object? object, {String? tag}) {
  23. _printLog(tag, ' e ', object);
  24. }
  25. static void v(Object? object, {String? tag}) {
  26. if (_debugMode) {
  27. _printLog(tag, ' v ', object);
  28. }
  29. }
  30. static void _printLog(String? tag, String stag, Object? object) {
  31. String da = object?.toString() ?? 'null';
  32. tag = tag ?? _tagValue;
  33. if (da.length <= _maxLen) {
  34. print('$tag$stag $da');
  35. return;
  36. }
  37. print(
  38. '$tag$stag — — — — — — — — — — — — — — — — st — — — — — — — — — — — — — — — —');
  39. while (da.isNotEmpty) {
  40. if (da.length > _maxLen) {
  41. print('$tag$stag| ${da.substring(0, _maxLen)}');
  42. da = da.substring(_maxLen, da.length);
  43. } else {
  44. print('$tag$stag| $da');
  45. da = '';
  46. }
  47. }
  48. print(
  49. '$tag$stag — — — — — — — — — — — — — — — — ed — — — — — — — — — — — — — — — —');
  50. }
  51. }