let_log icon indicating copy to clipboard operation
let_log copied to clipboard

LetLog is a Flutter log system that supports both IDE and in-app display, and supports log and network

let_log

LetLog is a logger that supports both IDE and in-app display, and supports log and network

Language: English | 中文简体

Getting Started

API inspired by web

Example code

// log
Logger.log("this is log");

// debug
Logger.debug("this is debug", "this is debug message");

// warn
Logger.warn("this is warn", "this is a warning message");

// error
Logger.error("this is error", "this is a error message");

// test error
try {
  final test = {};
  test["test"]["test"] = 1;
} catch (a, e) {
  Logger.error(a, e);
}

// time test
Logger.time("timeTest");
Logger.endTime("timeTest");

// log net work
Logger.net(
  "api/user/getUser",
  data: {"user": "yung", "pass": "xxxxxx"},
);
Logger.endNet(
  "api/user/getUser",
  data: {
    "users": [
      {"id": 1, "name": "yung", "avatar": "xxx"},
      {"id": 2, "name": "yung2", "avatar": "xxx"}
    ]
  },
);

// log net work
Logger.net("ws/chat/getList", data: {"chanel": 1}, type: "Socket");
Logger.endNet(
  "ws/chat/getList",
  data: {
    "users": [
      {"id": 1, "name": "yung", "avatar": "xxx"},
      {"id": 2, "name": "yung2", "avatar": "xxx"}
    ]
  },
);

// clear log
// Logger.clear();

For a detailed example, please refer to here.

IDE Display results

Let Log

Display logs in the app

Widget build(BuildContext context) {
  return Logger();
}

For a detailed example, please refer to here.

App log

Let Log

App network

Let Log

App search

Let Log

Setting

Custom category names

// setting
Logger.enabled = false;
Logger.config.maxLimit = 50;
Logger.config.reverse = true;
Logger.config.printLog = false;
Logger.config.printNet = false;

// Set the names in ide print, can use emoji.
Logger.config.setPrintNames(
  log: "[😄Log]",
  debug: "[🐛Debug]",
  warn: "[❗Warn]",
  error: "[❌Error]",
  request: "[⬆️Req]",
  response: "[⬇️Res]",
);

// Set the names in the app, can use emoji.
Logger.config.setTabNames(
  log: "😄",
  debug: "🐛",
  warn: "❗",
  error: "❌",
  request: "⬆️",
  response: "⬇️",
);

Results:

Let Log

Feature

  • [x] Support for both IDE printing and in-app presentation

  • [x] Also supports logging, error, time statistics, network and other information output.

  • [x] Interface imitates the web console class, providing log, debug, warn interface, error, time, endTime, net, endNet, etc.

  • [x] Support for filtering log content by category

  • [x] Support for filtering log content by keywords

  • [x] Support for copy log content

  • [x] Serves as both Http and Socket

  • [x] Statistics for network support packet size, duration

  • [x] Support for custom log category symbols, you can use emoji sentiment as a sort if you like.

  • [x] Multi-colored output logs within the app to make error logs more visible

  • [x] Support for automatic switching between black and white skin according to the app

  • [x] Support for some custom logging settings

github

https://github.com/yungzhu/let_log

If you like it, give it a star, thanks.