当前位置: 首页 > news >正文

常用的网站推广方法有哪些安卓优化

常用的网站推广方法有哪些,安卓优化,微信小程序商城软件开发,普陀微信网站建设目录 简介 安装 配置 环境变量配置 日志级别和表配置 创建 Logger 实例 文件传输配置 控制台输出配置 完整代码 使用方法 记录信息日志 记录错误日志 记录警告日志 总结 简介 winston-mysql 是一个为 winston3.x 日志库设计的 MySQL 传输插件,允许你…

目录

简介

安装

配置

环境变量配置

日志级别和表配置

创建 Logger 实例

文件传输配置

控制台输出配置

完整代码

使用方法

记录信息日志

记录错误日志

记录警告日志

总结


 

简介

winston-mysql 是一个为 winston@3.x 日志库设计的 MySQL 传输插件,允许你在 Node.js 应用程序中将日志存储到 MySQL 数据库。这个插件支持自定义日志表字段和 JSON 格式的元数据字段,适用于 MySQL 5.7 及以上版本。

安装

首先,你需要在你的 MySQL 数据库中创建一个表来存储日志。以下是创建日志表的 SQL 语句示例:

CREATE TABLE `your_database_name`.`st_logs` (`id` INT NOT NULL AUTO_INCREMENT,`level` VARCHAR(16) NOT NULL,`message` VARCHAR(2048) NOT NULL,`meta` VARCHAR(2048) NOT NULL,`timestamp` DATETIME NOT NULL,PRIMARY KEY (`id`)
);

然后,通过 npm 安装 winston-mysql

$ npm install winston-mysql

配置

环境变量配置

在配置 winston-mysql 之前,你需要从配置文件中读取数据库连接信息。这些信息通常存储在环境变量或配置文件中,以确保安全性和灵活性。

const {MYSQL_HOST,MYSQL_USER,MYSQL_PWD,MYSQL_DB,
} = require("../config/config.default");

这里,MYSQL_HOSTMYSQL_USERMYSQL_PWDMYSQL_DB 是从配置文件中读取的数据库连接参数。

日志级别和表配置

winston-mysql 允许你为不同的日志级别设置不同的存储表。在以下配置中,我们定义了一个名为 options_default 的对象,其中包含了数据库连接信息和日志表名称。

const options_default = {host: MYSQL_HOST,user: MYSQL_USER,password: MYSQL_PWD,database: MYSQL_DB,level: "error",table: "st_logs",
};
  • host: 数据库服务器地址。
  • user: 数据库用户名。
  • password: 数据库密码。
  • database: 要连接的数据库名称。
  • level: 此传输的日志级别,默认为 error,意味着只有 error 级别及以上的日志会被存储。
  • table: 存储日志的表名。

创建 Logger 实例

使用 createLogger 函数创建一个 winston 日志记录器实例,并配置其格式和传输方式。

const logger = createLogger({level: "info",format: format.json(),transports: [// ...其他传输配置new winstonMysql(options_default),],
});
  • level: 日志记录器的默认级别,这里设置为 info,意味着所有 info 级别及以上的日志都会被处理。
  • format: 日志的格式,这里使用 json 格式。

文件传输配置

除了将日志存储到数据库,还可以将日志输出到文件。

new transports.File({filename: "info.log",level: "info",format: format.combine(format((info) => (info.level === "info" ? info : false))(),format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),format.json()),
}),
  • filename: 日志文件的名称。
  • level: 此文件传输的日志级别。
  • format: 组合格式,包括过滤 info 级别的日志、添加时间戳和 JSON 格式。

控制台输出配置

在非生产环境中,你可能希望将日志输出到控制台。

if (process.env.NODE_ENV !== "production") {logger.add(new transports.Console({format: format.combine(format.colorize(),format.simple()),}));
}
  • format.colorize(): 为日志添加颜色。
  • format.simple(): 使用简单格式输出日志。

完整代码

const { createLogger, format, transports } = require("winston");
const winstonMysql = require("winston-mysql");const {MYSQL_HOST,MYSQL_USER,MYSQL_PWD,MYSQL_DB,
} = require("../config/config.default");const options_default = {host: MYSQL_HOST,user: MYSQL_USER,password: MYSQL_PWD,database: MYSQL_DB,level: "error",table: "st_logs",
};const logger = createLogger({level: "info",format: format.json(),transports: [new transports.File({filename: "info.log",level: "info",format: format.combine(format((info) => (info.level === "info" ? info : false))(),format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),format.json()),}),new winstonMysql(options_default),],
});if (process.env.NODE_ENV !== "production") {logger.add(new transports.Console({format: format.combine(format.colorize(),format.simple()),}));
}

使用方法

winston-mysql 提供了一些实用的日志方法,你可以在你的应用程序中这样使用它们:

const logInfo = (message, meta = {}) => {logger.info(message, { ...meta });
};const logError = (message, error, meta = {}) => {const errorObj = error instanceof Error ? error : null;logger.error(message, {message: errorObj ? errorObj.message : error.message,stack: errorObj ? errorObj.stack : error.message,...meta,});
};const logWarn = (message, meta = {}) => {logger.warn(message, { ...meta });
};

记录信息日志

logInfo("这是一条信息日志", { customField: "customValue" });

记录错误日志

logError("这是一条错误日志", new Error("出错了"), { customField: "customValue" });

记录警告日志

logWarn("这是一条警告日志", { customField: "customValue" });

总结

Node === Winston 日志工具详解-CSDN博客
Winston 日志工具详解

通过上述配置和方法,你可以灵活地将日志存储到 MySQL 数据库,并根据需要输出到文件和控制台。这为日志管理和问题排查提供了强大的支持。

http://www.tj-hxxt.cn/news/16035.html

相关文章:

  • 大连网站建设设计百度关键词排名怎么查
  • 哪些网站可以做装修想开广告公司怎么起步
  • 购物网站后台模板网站制作教程视频
  • 做营销网站建设价格南昌seo优化
  • 西宁做网站君博领衔浏览器打开是2345网址导航
  • 重庆建站模板厂家职业技能培训网站
  • 百度网页翻译功能在哪seo宣传
  • 电子商务网站建设实训步骤军事新闻今日最新消息
  • 大学生对校园网站建设的需求是什么深圳网络营销推广中心
  • 自己搭建小型服务器企业网站优化方案
  • 企业网站设计软件关键词挖掘爱站网
  • 创建自己的网站需要准备什么网上推广产品哪个网好
  • 用jsp加点mvc做网站怎么样市场营销计划方案
  • 网站服务器网址腾讯与中国联通
  • 网站排名优化原理写文章一篇30元兼职
  • 做门户网站的公司seo外包收费
  • 不买域名怎么做网站网络推广工作内容
  • 个人网站想添加支付功能怎么做百度关键词搜索量排名
  • 做面包网站微信营销平台
  • 湖南建设局网站站长工具传媒
  • 陕西企业电脑网站制作怎么做网站主页
  • 企业网站phpcms百度百科官网入口
  • 小程序定制开发seo查询排名软件
  • 网站网页怎么做万网创始人
  • 网站开发大概多久百度热搜广告位
  • 武汉专业制作网站seo平台怎么样
  • 文稿写作网站郑州seo顾问外包公司
  • 做推广网站排名合肥头条今日头条新闻最新消息
  • 宁波seo教程app推广国内seo排名
  • 上海网站公安备案号公司网站设计方案