电脑生活派
柔彩主题三 · 更轻盈的阅读体验

IIS网络日志设置:轻松搞定网站访问记录

发布时间:2026-01-01 23:51:06 阅读:110 次

在日常运维中,很多站长和开发人员都需要查看网站的访问情况。比如你刚上线了一个内部管理系统,老板问“昨天谁登录了?”这时候如果没有日志,真是一头雾水。其实IIS自带的网络日志功能就能帮你解决这个问题,关键是要会设置

日志存放在哪里?

默认情况下,IIS的日志文件保存在 C:\inetpub\logs\LogFiles 目录下,每个站点都有独立的文件夹。打开后你会看到一堆以 u_ex 开头的文本文件,格式是W3C标准的,可以用记事本或者Excel打开查看。

开启或修改日志设置

进入IIS管理器,选择你要配置的网站,双击“日志”功能模块。这里有几个关键选项需要注意:

  • 日志文件rollover:建议设为“每天”,避免一个文件太大不好查看;
  • 日志文件目录:可以自定义路径,比如放到D盘方便备份;
  • 日志格式:保持W3C即可,兼容性最好。

自定义记录哪些字段

点击“选择字段”按钮,你可以决定记录哪些信息。常见的有用字段包括:

  • 日期(date)
  • 时间(time)
  • 客户端IP(c-ip)
  • 请求方法(cs-method)
  • 请求路径(cs-uri-stem)
  • 状态码(sc-status)
  • 用户代理(cs(User-Agent))

比如你想知道是谁用手机访问了登录页,就把User-Agent加上,后面分析时就能识别设备类型。

通过命令行快速启用日志

如果你管理多台服务器,手动点鼠标太慢,可以用命令行批量设置。例如:

appcmd set config "Default Web Site" /section:httpLogging /dontLog:False /selectiveLogging:LogAll

这条命令会开启指定站点的日志记录。如果只想记录错误请求(比如404、500),可以调整 selectiveLogging 的值为 LogError

结合数据库做日志分析

原始日志是文本文件,不方便统计。我们可以把日志导入SQL Server进行查询分析。比如写个PowerShell脚本定期读取最新的log文件,解析后插入到数据库表中。

建一张表来存储日志数据:

CREATE TABLE IISLogs (
    LogDate DATETIME,
    ClientIP NVARCHAR(50),
    Method NVARCHAR(10),
    UriStem NVARCHAR(255),
    StatusCode INT,
    UserAgent NVARCHAR(500)
);

然后用BULK INSERT或SSIS导入数据,之后就能用SQL查“昨天有多少次404”、“哪个IP访问最频繁”这类问题了。

小贴士:别让日志占满磁盘

有个真实案例:同事的服务器突然报警磁盘100%,排查发现是IIS日志一年多没清理,累计超过80GB。建议设置日志保留策略,比如只保留30天,老文件自动删除。

可以在日志设置里勾选“最多保留日志文件”,并设置最大文件数量,这样系统会自动轮替旧文件,避免爆盘。