为了调试性能问题,我在tomcat中启用了访问日志。我们没有使用任何apache服务器。它是我们正在使用的嵌入式tomcat。
我正在使用以下模式访问日志。
access-patten = %h %l %u %t "%r" %s %b %D
Run Code Online (Sandbox Code Playgroud)
%D =接收到请求的第一个字节的时间〜发送响应的最后一个字节的时间。
因此%D也包括网络延迟。
但是,如何打印收到的请求的第一个字节和发送的响应的第一个字节之间的时间差。
我正在尝试仅在nginx access_log中记录java脚本文件请求.我尝试使用我在本网站上找到的以下代码:
location ~* ^.+.(jpg|jpeg|gif|css|png|html|htm|ico|xml|svg)$ {
access_log off;
}
Run Code Online (Sandbox Code Playgroud)
问题是它根本不允许获取请求,并且在尝试运行在浏览中执行js文件的html文件时出现404错误.
我希望一切工作都相同,但访问日志只记录请求js文件.我怎么做?
任何人都知道如何将我的用户的 Laravel 用户名包含在访问日志中?我在 Ubuntu 16.04 上使用 Laravel 5.2 和 Nginx。
我知道如何将数据添加到 Nginx 的访问日志中,但是,如何将信息(在本例中为用户名)从 Laravel 传递到 Nginx 以便将该信息添加到访问日志中?
谢谢
我将 Nginx 与 Typo3 结合使用。我的 Typo3 安装有大约 8 个域。一切都像魅力一样。现在我遇到的问题是,我想使用适用于每个域的 AWStats,但我不知道如何分离每个域的访问日志。在下面您可以看到我的配置实际运行情况:
里面的配置文件sites-available
:
server {
listen 127.0.0.1:80;
server_name www.domain1.de
www.domain2.de
www.domain3.de
root "/var/www/oz/htdocs/";
disable_symlinks if_not_owner;
location ~ /\.ht {
deny all;
}
location ~ ^/cgi-bin/ {
deny all;
}
# PHP is enabled
index index.php index.html index.htm;
location ~ \.php(/|$) {
try_files $fastcgi_script_name =404;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include /etc/nginx/fastcgi_params;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass unix:/var/www/oz/conf/sockets/nginx-php-fcgi.sock;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k; …
Run Code Online (Sandbox Code Playgroud) 我试图在tomcat中为我的.war应用程序配置独立的访问日志,但我无法弄清楚什么是失败的.
目的是为进入我的应用程序的请求分别进行访问日志记录,而不必依赖tomcat的全局访问日志.
据我所知,我应该创建自己的上下文配置文件,并使用AccessLogValve指定我要写入的位置.
我在应用程序的WAR文件中创建了META-INF/context.xml,内容如下:
<Context path="/Stubby">
<Valve class="org.apache.catalina.valves.AccessLogValve"
rotatable="true"
directory="/var/SP/log/stubby"
prefix="access.log_"
suffix=""
fileDateFormat="yyyyMMdd_HH"
pattern="combined"
buffered="false"
resolveHosts="false"
/>
</Context>
Run Code Online (Sandbox Code Playgroud)
启动tomcat时,我看到此文件被复制到conf/Catalina/localhost/Stubby.xml,但在应用程序加载例程期间存在解析错误:
SEVERE: Begin event threw exception
java.lang.NullPointerException
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
(...)
Jul 13, 2011 6:16:12 PM org.apache.catalina.startup.ContextConfig processContextConfig
SEVERE: Parse error in context.xml for /Stubby
java.lang.NullPointerException
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2832)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1359)
Run Code Online (Sandbox Code Playgroud)
这有什么不对?我是否遗漏了声明中的任何强制性财产?
我想将每个请求的 JSON 字符串写入访问日志,以便以后使用它会更容易。
我正在使用 Lapis/Openresty 公开的 print(),但是我想覆盖时间戳、日志级别和其他作为 nginx 日志格式一部分的信息。
我怎样才能覆盖它?
我正在尝试在域模式下使用 WildFly 9 设置访问日志记录。我发现了一些建议在 domain.xml 文件中使用类似内容的资源:
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<access-log pattern="%A%t%h%l%u%r%s%b%T%I" directory="${jboss.server.log.dir}" prefix="access" suffix=".log"/>
</host>
Run Code Online (Sandbox Code Playgroud)
然后我重新启动了wildfly,但没有发生日志记录,并且wildfly 启动时也没有错误,所以我只是把头撞在墙上。我真的很感激任何人都可以提供的任何帮助。
还有一种方法可以在域模式下使用 cli 注册访问日志记录吗?
access-log ×7
nginx ×3
tomcat ×2
awstats ×1
context.xml ×1
http ×1
json ×1
laravel ×1
laravel-5 ×1
logging ×1
openresty ×1
php ×1
tomcat-valve ×1
typo3-6.2.x ×1
wildfly ×1
wildfly-9 ×1