# gobase **Repository Path**: by415/gobase ## Basic Information - **Project Name**: gobase - **Description**: golang基础库封装 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-12-09 - **Last Updated**: 2022-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 基础库功能清单,具体的使用,example 参考每个模块内部提供的example/test方法 ## tlog ### 简介 日志模块,封装返回 `zap.SugaredLogger`。 - 日志等级可配; - 支持输出到终端/文件,默认为终端; - 日志文件大小限制,记录天数,备份数量做限制; - 可配是否打印日志调用行号信息; - msg打印的tag可配; - 支持json/console方式的编码。json方便传输,console方便查看。 - 支持一个程序内使用两个logger实例,分别配置打印,用于日志细分,拆分件。 ## tappinput ### 简介 程序输入控制模块(app input),封装简化`cobra`,`viper`的使用。 - 完成从外部输入到内部config结构体的自动赋值。 - viper的变量优先级 overrides > flag > env > config > key/value store(未处理) > default ### 待扩展补充 没有泛型支持,以下片段,只处理常用类型`Bool` `Int` `[]Int` `String` `[]String` `Duration`,其他类型(参考viper接口了解支持的类型),功能需要时,直接扩展补充case即可,是向后兼容的。 ```go /** * @Description: 填充绑定值 * @param c * @param v * @param cfg * @date 2021-12-16 15:27:51 * // todo 补充支持的类型,在这里添加一个case即可 */ func fillCmdOpt(c *cobra.Command, v *viper.Viper, cfg *config.TAppConfig) { for _, bd := range cfg.TOptBinds { switch bd.Value.(type) { case bool: ```