[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9457":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},9457,"logger","simc\u002Flogger","simc","Small, easy to use and extensible logger which prints beautiful logs.","https:\u002F\u002Fpub.dev\u002Fpackages\u002Flogger",null,"Dart",1071,125,13,50,0,1,54.4,"MIT License",false,"master",true,[],"2026-06-12 04:00:44","# Logger\n\n[![pub package](https:\u002F\u002Fimg.shields.io\u002Fpub\u002Fv\u002Flogger.svg?logo=dart&logoColor=00b9fc)](https:\u002F\u002Fpub.dartlang.org\u002Fpackages\u002Flogger)\n[![CI](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fworkflow\u002Fstatus\u002Fleisim\u002Flogger\u002FDart%20CI\u002Fmaster?logo=github-actions&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fleisim\u002Flogger\u002Factions)\n[![Last Commits](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fleisim\u002Flogger?logo=git&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fleisim\u002Flogger\u002Fcommits\u002Fmaster)\n[![Pull Requests](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002Fleisim\u002Flogger?logo=github&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fleisim\u002Flogger\u002Fpulls)\n[![Code size](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flanguages\u002Fcode-size\u002Fleisim\u002Flogger?logo=github&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fleisim\u002Flogger)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fleisim\u002Flogger?logo=open-source-initiative&logoColor=green)](https:\u002F\u002Fgithub.com\u002Fleisim\u002Flogger\u002Fblob\u002Fmaster\u002FLICENSE)\n\n\n> [!CAUTION] \n> This repo is NOT LONGER leading! The new repo is here: [https:\u002F\u002Fgithub.com\u002FSourceHorizon\u002Flogger](https:\u002F\u002Fgithub.com\u002FSourceHorizon\u002Flogger)\n\nSmall, easy to use and extensible logger which prints beautiful logs.\u003Cbr>\nInspired by [logger](https:\u002F\u002Fgithub.com\u002Forhanobut\u002Flogger) for Android.\n\n**Show some ❤️ and star the repo to support the project**\n\n### Resources:\n- [Documentation](https:\u002F\u002Fpub.dev\u002Fdocumentation\u002Flogger\u002Flatest\u002Flogger\u002Flogger-library.html)\n- [Pub Package](https:\u002F\u002Fpub.dev\u002Fpackages\u002Flogger)\n- [GitHub Repository](https:\u002F\u002Fgithub.com\u002Fleisim\u002Flogger)\n\n## Getting Started\n\nJust create an instance of `Logger` and start logging:\n```dart\nvar logger = Logger();\n\nlogger.d(\"Logger is working!\");\n```\n\nInstead of a string message, you can also pass other objects like `List`, `Map` or `Set`.\n\n## Output\n\n![](https:\u002F\u002Fraw.githubusercontent.com\u002Fleisim\u002Flogger\u002Fmaster\u002Fart\u002Fscreenshot.png)\n\n# Documentation\n\n## Log level\n\nYou can log with different levels:\n\n```dart\nlogger.v(\"Verbose log\");\n\nlogger.d(\"Debug log\");\n\nlogger.i(\"Info log\");\n\nlogger.w(\"Warning log\");\n\nlogger.e(\"Error log\");\n\nlogger.wtf(\"What a terrible failure log\");\n```\n\nTo show only specific log levels, you can set:\n\n```dart\nLogger.level = Level.warning;\n```\n\nThis hides all `verbose`, `debug` and `info` log events.\n\n## Options\n\nWhen creating a logger, you can pass some options:\n\n```dart\nvar logger = Logger(\n  filter: null, \u002F\u002F Use the default LogFilter (-> only log in debug mode)\n  printer: PrettyPrinter(), \u002F\u002F Use the PrettyPrinter to format and print log\n  output: null, \u002F\u002F Use the default LogOutput (-> send everything to console)\n);\n```\n\nIf you use the `PrettyPrinter`, there are more options:\n\n```dart\nvar logger = Logger(\n  printer: PrettyPrinter(\n    methodCount: 2, \u002F\u002F number of method calls to be displayed\n    errorMethodCount: 8, \u002F\u002F number of method calls if stacktrace is provided\n    lineLength: 120, \u002F\u002F width of the output\n    colors: true, \u002F\u002F Colorful log messages\n    printEmojis: true, \u002F\u002F Print an emoji for each log message\n    printTime: false \u002F\u002F Should each log print contain a timestamp\n  ),\n);\n```\n\n### Auto detecting\n\nWith the `io` package you can auto detect the `lineLength` and `colors` arguments. \nAssuming you have imported the `io` package with `import 'dart:io' as io;` you \ncan auto detect `colors` with `io.stdout.supportsAnsiEscapes` and `lineLength` \nwith `io.stdout.terminalColumns`.\n\nYou should probably do this unless there's a good reason you don't want to \nimport `io`, for example when using this library on the web.\n\n## LogFilter\n\nThe `LogFilter` decides which log events should be shown and which don't.\u003Cbr>\nThe default implementation (`DevelopmentFilter`) shows all logs with `level >= Logger.level` while in debug mode. In release mode all logs are omitted.\n\nYou can create your own `LogFilter` like this:\n```dart\nclass MyFilter extends LogFilter {\n  @override\n  bool shouldLog(LogEvent event) {\n    return true;\n  }\n}\n```\nThis will show all logs even in release mode. (**NOT** a good idea)\n\n\n## LogPrinter\n\nThe `LogPrinter` creates and formats the output, which is then sent to the `LogOutput`.\u003Cbr>\nYou can implement your own `LogPrinter`. This gives you maximum flexibility.\n\nA very basic printer could look like this:\n```dart\nclass MyPrinter extends LogPrinter {\n  @override\n  List\u003CString> log(LogEvent event) {\n    return [event.message];\n  }\n}\n```\n\nIf you created a cool `LogPrinter` which might be helpful to others, feel free to open a pull request. :)\n\n### Colors\n\nPlease note that all IDEs (VSCode, XCode, Android Studio, IntelliJ) do not \nsupport ANSI escape sequences in their terminal outputs. These escape sequences \nare used to color output. If using such an IDE do not configure colored output.\n\nHowever, if you are using a JetBrains IDE (Android Studio, IntelliJ, etc.) \nyou can make use of the [Grep Console Plugin](https:\u002F\u002Fplugins.jetbrains.com\u002Fplugin\u002F7125-grep-console)\nand the [`PrefixPrinter`](\u002Flib\u002Fsrc\u002Fprinters\u002Fprefix_printer.dart) \ndecorator to achieved colored logs for any logger:\n\n```dart\nvar logger = Logger(\n  printer: PrefixPrinter(PrettyPrinter(colors: false))\n);\n```\n\n## LogOutput\n\n`LogOutput` sends the log lines to the desired destination.\u003Cbr>\nThe default implementation (`ConsoleOutput`) send every line to the system console.\n\n```dart\nclass ConsoleOutput extends LogOutput {\n  @override\n  void output(OutputEvent event) {\n    for (var line in event.lines) {\n      print(line);\n    }\n  }\n}\n```\n\nPossible future `LogOutput`s could send to a file, firebase or to Logcat. Feel free to open pull requests.\n\n\n## logger_flutter extension\n\nThe [logger_flutter](https:\u002F\u002Fpub.dev\u002Fpackages\u002Flogger_flutter) package is an extension for logger. You can add it to any Flutter app. Just shake the phone to show the console.\n\n\n## MIT License\n```\nCopyright (c) 2019 Simon Leier\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and\u002For sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","simc\u002Flogger 是一个简洁易用且可扩展的日志记录库，用于生成美观的日志输出。该项目使用 Dart 语言编写，支持多种日志级别（如调试、信息、警告和错误等），并允许用户自定义输出格式及过滤规则。通过配置 PrettyPrinter，可以调整方法调用堆栈显示数量、输出宽度、颜色以及是否打印表情符号等选项，从而满足不同需求。适用于需要高效而美观地进行日志记录的 Dart 或 Flutter 项目中，特别是在开发阶段希望快速定位问题时非常有用。",2,"2026-06-11 03:22:55","top_language"]