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

靠谱网站建设公司收费广州优化网站排名

靠谱网站建设公司收费,广州优化网站排名,设计动画公司,大气腐蚀网站建设第1章:原始时代——System.out.println的局限性 // 新手村标准写法 public static void main(String[] args) {System.out.println("程序启动啦!"); // 简单但粗糙// 问题1:无法控制输出级别// 问题2:性能低下&#xf…

第1章:原始时代——System.out.println的局限性

// 新手村标准写法
public static void main(String[] args) {System.out.println("程序启动啦!"); // 简单但粗糙// 问题1:无法控制输出级别// 问题2:性能低下(同步阻塞)// 问题3:无法输出到文件// 问题4:没有上下文信息(时间、类名等)
}

第2章:青铜时代——JDK自带日志框架

import java.util.logging.Logger;
import java.util.logging.Level;public class BasicLogging {private static final Logger LOG = Logger.getLogger(BasicLogging.class.getName());public static void main(String[] args) {LOG.info("订单创建成功"); // 基础分级LOG.log(Level.SEVERE, "数据库连接失败", new Exception("Connection timeout"));// 优点:自带分级// 缺点:配置复杂、功能有限}
}

第3章:工业革命——主流日志框架对决

方案1:Log4j2(性能王者)
<!-- pom.xml -->
<dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.20.0</version>
</dependency>
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;public class Log4jDemo {private static final Logger logger = LogManager.getLogger();public void processOrder() {logger.debug("订单明细:{}", orderDetails); // 参数化日志logger.error("支付失败", exception);}
}
方案2:Logback(SpringBoot官方推荐)
<!-- logback.xml -->
<configuration><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>logs/app.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>logs/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxHistory>30</maxHistory></rollingPolicy><encoder><pattern>%d{ISO8601} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><root level="INFO"><appender-ref ref="FILE"/></root>
</configuration>

第4章:最佳实践——日志框架的正确打开方式

1. 统一日志门面(SLF4J)
<!-- 使用SLF4J统一接口 -->
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.7</version>
</dependency>
<!-- 具体实现(以Logback为例) -->
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.8</version>
</dependency>
2. 参数化日志(性能优化关键)
// 错误写法(浪费性能):
logger.debug("User info: " + user); // 正确姿势:
logger.debug("User info: {}", user); // 延迟字符串拼接
3. 日志级别规范
级别使用场景
TRACE最细粒度调试信息(如循环内部状态)
DEBUG开发调试信息(线上环境关闭)
INFO重要业务流程节点
WARN潜在问题(如缓存即将过期)
ERROR业务异常(需要人工介入)

第5章:高级技巧——让日志成为调试神器

1. MDC实现链路追踪
// 在请求入口处:
MDC.put("traceId", UUID.randomUUID().toString());// 日志模板添加%X{traceId}:
<pattern>%d{ISO8601} [%X{traceId}] %-5level %logger{36} - %msg%n</pattern>
2. 异步日志(性能提升10倍+)
<!-- log4j2异步配置 -->
<AsyncLogger name="com.your.package" level="debug" additivity="false"><AppenderRef ref="Console"/>
</AsyncLogger>
3. 敏感信息脱敏
public class SensitiveConverter extends ClassicConverter {@Overridepublic String convert(ILoggingEvent event) {return event.getMessage().replaceAll("(\"password\":\")(.*?)(\")", "$1****$3");}
}

终极方案:日志系统迁移路线图

  1. 第一步:全局替换System.out

    # 使用IDE正则替换:
    System\.out\.println\((.*)\); → log.info("{}", $1);
    
  2. 第二步:配置日志框架(选择其一)

    • Log4j2:追求极致性能
    • Logback:SpringBoot生态友好
  3. 第三步:接入集中式日志系统

    # ELK(Elasticsearch+Logstash+Kibana)架构:
    应用 → Logstash → Elasticsearch → Kibana展示
    

日志哲学
**好的日志系统应该像优秀的新闻记者——

  • 在正确的时间(及时)
  • 用正确的角度(上下文)
  • 报道重要的事实(关键信息)
  • 并且绝不添油加醋(性能消耗低)**
http://www.dtcms.com/wzjs/521238.html

相关文章:

  • 人才网站 建设好 窗口域名历史查询工具
  • 网站制作的设计思路seo原创工具
  • 江苏省建设厅网站怎么登不上营销课程培训都有哪些
  • 做网站的经验和体会百度游戏官网
  • 公司网站怎么能被百度收录嘉兴seo外包公司费用
  • 网络工程师app谷歌seo优化中文章
  • 瓦房店 网站建设营销软件代理推广
  • wap企业网站口碑营销成功案例
  • 做app网站的软件叫什么名字吗快排seo软件
  • 网站托管服务网站优化排名金苹果下拉
  • 计算机上网题的模拟网站怎么做凡科网建站系统源码
  • 公司做网站所上传的产品图片seo免费优化软件
  • 好的品牌设计网站有哪些网络优化初学者难吗
  • 政府门户网站建设策划深圳网络推广培训学校
  • 建立企业网站多少钱网络服务公司
  • 网站建设的验收seo营销优化软件
  • 淘宝客 网站建设不完整廊坊seo关键词排名
  • 澄海建网站北京网站sem、seo
  • 珠海建设银行官方网站代运营公司靠谱吗
  • ps制作网站教程医院营销策略的具体方法
  • 网站建设企业有哪些内容今日国际军事新闻头条
  • 网站建设合同首付多少钱游戏推广员平台
  • 天长做网站公司网络营销推广公司简介
  • 虎门做英文网站北京网站优化对策
  • 专业网站的公司网络营销效果评估
  • 高乐雅官方网站 哪个公司做的长春seo顾问
  • 有哪些比较好的企业网站建设万能引流软件
  • 北京网站设计知名乐云seoseo网站优化详解
  • 网站建设请示报告知乎关键词搜索
  • 手机app软件如何制作东莞seo黑帽培训