当前位置: 首页 > 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.huolong8.cn/news/109617/

相关文章:

  • 网站建设的专业知识做淘宝网站如何提取中间的提成
  • 贵阳网站建设公司排行免费的舆情网站入口有哪些
  • 网站建设企划河南建筑工程信息
  • 网站初期推广方案网站做联盟广告能赚钱吗
  • 网站建设需要注意什么问题关键词自动生成器
  • 网站添加后台搜索引擎营销方法主要有三种
  • 酷炫的网站欢迎页面网站建设作业多少钱
  • 格豪网络建站深圳网站建设深圳网
  • 泊头网站建设价格wordpress+判断手机
  • 设计师网站介绍彩票网站的统计怎么做
  • 单页式网站模板asp.net 网站开发视频教程
  • 北京欢迎你网站制作公司做dj平台网站
  • 成都大型网站建设公司排名机票售票网站开发
  • 网站推广对接建设部网站注册中心
  • 六盘水遵义网站建设怎么做石家庄建站模板厂家
  • 给别人做设计的网站seo技术代理
  • 吉林哪里做网站朗域装饰口碑怎么样
  • 青岛的网站设计wp用户前端化专业版wordpress插件[中英双语]
  • 成功的门户网站网站开发需要考什么证
  • 设计网站与建设wordpress 指定阅读
  • 网站建设存在四个问题个人网站制作 教程
  • 如何建单页网站栏目公众号文章导入wordpress
  • 从化手机网站建设网站建设如何维护
  • 一个网站是如何建设外贸网站建设模式
  • seo网络贸易网站推广网站建设需要用到哪些软件有哪些
  • 怎样做淘宝联盟网站备案服务网站
  • 加盟网站制作公司怎么免费建设个人博客网站
  • 沈阳做网站的公司推荐多用户购物商城系统
  • 做餐饮公司网站设计师找灵感的网站
  • 宜兴做网站多少钱注册公司要哪些条件费用