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

科讯cms网站管理系统kesioncms网站源码配置数据库在拿

科讯cms网站管理系统kesioncms,网站源码配置数据库在拿,建设网站江西,深圳关键词排名推广NextJs中如果使用Route Handlers来编写Restful API接口#xff0c;可以使用winston来将日志存储到文件。 winston Winston是一个Node.js的日志记录库#xff0c;它可以帮助开发人员记录应用程序中的重要日志信息并进行分析。Winston支持多种日志记录级别#xff0c;包括调…NextJs中如果使用Route Handlers来编写Restful API接口可以使用winston来将日志存储到文件。 winston Winston是一个Node.js的日志记录库它可以帮助开发人员记录应用程序中的重要日志信息并进行分析。Winston支持多种日志记录级别包括调试、信息、警告和错误并提供多种输出选项例如控制台输出、文件输出和数据库输出等。Winston还支持自定义日志格式和传输方式可以与各种日志分析工具和第三方服务集成。因此它被广泛用于开发Node.js应用程序的日志记录和分析。 NextJS中使用winston 1. 安装winston # 安装winston库 npm install winston --save # 安装插件 npm install winston-daily-rotate-file --savewinston-daily-rotate-file 是 Winston 日志库的一个插件它提供了日志文件的按日轮换功能。它可以根据用户设置的时间间隔如每天、每小时、每周等自动将日志文件按日期轮换以防止单个日志文件过大影响读写性能。同时它还可以设置日志文件的最大数量当超过最大数量时将删除最旧的日志文件。winston-daily-rotate-file 插件使用简单并且与 Winston 日志库的其他插件兼容可以很方便地集成到现有的 Node.js 应用程序中。 2. 创建winston-logger.ts const { createLogger, format, transports } require(winston); require(winston-daily-rotate-file);const customFormat format.combine(format.timestamp({ format: MMM-DD-YYYY HH:mm:ss }),format.align(),format.printf((i: { level: any; timestamp: any; message: any; }) ${i.level}: ${[i.timestamp]}: ${i.message}) ); const defaultOptions {format: customFormat,datePattern: YYYY-MM-DD,zippedArchive: true,maxSize: 20m,maxFiles: 14d,frequency: 1m,//format: format.json() };const globalLogger createLogger({format: customFormat,transports: [new transports.Console(),new transports.DailyRotateFile({filename: logs/info-%DATE%.log,level: info,...defaultOptions,}),new transports.DailyRotateFile({filename: logs/error-%DATE%.log,level: error,...defaultOptions,}),],exitOnError: false,exceptionHandlers: [new transports.DailyRotateFile({filename: logs/exceptions.log,}),] });module.exports {globalLogger: globalLogger, };2. 创建logger.ts日志工具类 const { globalLogger } require(./winston-logger);export class Logger {public static error(e: Error) {globalLogger.error(e.stack)}public static info(message: any) {globalLogger.info(message)}public static warn(message: any) {globalLogger.warn(message)}public static debug(message: any) {globalLogger.debug(message)} } 3. Route Handlers中使用日志类 app/api/test/route.ts文件 import { Logger } from /lib/logger import { PrismaClient } from prisma/client import { NextRequest } from next/serverasync function delChapter(docId: number, chapterId: bigint) {prisma操作数据库... }export async function GET(request: NextRequest) {try {const searchParams request.nextUrl.searchParams;const docId Number(searchParams.get(docId) as string);const chapterId BigInt(searchParams.get(chapterId) as string);let res await delChapter(docId, chapterId).finally(async () await prisma.$disconnect())return res}catch(e) {Logger.error(e as Error)return new Response((e as Error).message, { status: 500, statusText: (e as Error).name })} }nextjs13中暂时没有找到更好的方式来处理异常的统一记录现阶段需要在每个api中try catch捕捉。
http://www.yutouwan.com/news/109617/

相关文章:

  • 建设学校网站的意义市场营销策划案的范文
  • 各大网站的404文山知名网站建设哪家好
  • 个人建网站怎么赚钱wordpress无法创建
  • 怎样设计自己网站域名网站建设银行
  • 胶东网站建设没有地址可以注册公司吗?
  • 化工企业网站模板合肥网站建设步骤
  • 做网站对于不同的分辨率asp网站建设实录pdf
  • 做粥哪个美食网站好学校网站的建设目标是什么
  • 浙江省专业网站制作网站建设汕头人才招聘网最新招聘信息
  • 商业营销厅装修公司宁波seo网站推广软件
  • 网站建设与网络推广石家庄网站制作哪家好
  • 怎么做一网站wps wordpress
  • 个人电脑做网站违法吗公司网站管理属于什么职位
  • 北京智能网站建设哪里好建立学校网站需要多少钱?
  • 海南四定网站开发学广告设计需要什么学历
  • 个人网站 平台wordpress 链接 中文乱码
  • 建设网站需要什么要求做快递网站制作
  • 网站不兼容怎么办啊中国建设银行阜阳分行网站
  • .net做网站教程北京企业网站建设推荐
  • 企业网站 阿里云正规网站制作全包
  • wordpress仿知乎南京百度网站快速优化
  • 孝感网站推广公众号文章制作
  • 大浪网站建设 优帮云腾讯云网站建设流程
  • 网站切图网站建设银行
  • 手机建站程序源码担路做网站
  • 公司要建设网站供电局招聘2023社招
  • 做网络传销网站犯法吗广州网站平台怎么做
  • 大兴建设网站网页游戏网站火
  • 武夷山市建设局网站vps 建网站 代理
  • wordpress照片页面阜阳seo