how to save pdf file in database in asp.net c# : Export pdf bookmarks to excel Library application component .net html windows mvc awstats7-part672

ShowSummary=UHB
ShowMonthStats=UHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=0
ShowPagesStats=PB
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowBrowsersStats=1
ShowOSStats=1
ShowOriginStats=H
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=1
ShowSMTPErrorsStats=0
Now you can use AWStats as usual (run the update process and read statistics).
FAQ-COM115 : SETUP/EXAMPLES FOR LOGFORMAT PARAMETER
PROBLEM:
Which value do I have to put in the LogFormat parameter to make AWStats working with my log file format ?
SOLUTION:
The AWStats config file gives you all the possible values for LogFormat parameter. To help you, this is some common
cases of log file format, and the corresponding value of LogFormat you must use in your AWStats config file:
If your log records are EXACTLY like this (NCSA combined/XLF/ELF log format):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234 "http://www.from.com/from.htm"
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
You must use : LogFormat=1
This is same than: LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
If your log records are EXACTLY like this (NCSA combined with several virtualhostname sharing same log file).
virtualserver1 62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234
"http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
You must use : LogFormat="%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot
%uaquot"
If your log records are EXACTLY like this (NCSA combined and mod_gzip format 1 with Apache 1.x):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm"
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" mod_gzip: 66pct.
You must use : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot
%other %gzipratio"
If your log records are EXACTLY like this (NCSA combined and mod_gzip format 2 with Apache 1.x):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm"
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" mod_gzip: DECHUNK:OK In:11393 Out:3904:66pct.
You must use : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot
%other %other %gzipin %gzipout"
If your log records are EXACTLY like this (NCSA combined and mod_deflate with Apache 2):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm"
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" (45)
You must use : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot
%deflateratio"
Frequently Asked Questions + Troubleshooting
71/103
14/07/2015
Export pdf bookmarks to excel - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmarks pdf documents; add bookmarks to pdf
Export pdf bookmarks to excel - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
display bookmarks in pdf; how to create bookmark in pdf automatically
If your log records are EXACTLY like this (NCSA combined with 2 spaces between some fields with Zope ):
62.161.78.73  - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm"
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" (45)
You must use :
LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
LogSeparator=" *"
If your log records are EXACTLY like this (NCSA common CLF log format):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234
You must use : LogFormat=4
Note: Browsers, OS's, Keywords and Referers features are not available with a such format.
If your log records are EXACTLY like this (With some Squid  versions, after setting emulate_http_log to on):
200.135.30.181 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET http://www.mydomain.com/page.html HTTP/1.0" 200 456
TCP_CLIENT_REFRESH_MISS:DIRECT
You must use : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %other"
If your log records are EXACTLY like this (Some old IIS  W3C log format):
yyyy-mm-dd hh:mm:ss 62.161.78.73 - GET /page.html 200 1234 HTTP/1.1
Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www.from.com/from.html
You must use : LogFormat=2
If your log records are EXACTLY like this (Some IIS  W3C log format with some .net servers):
yyyy-mm-dd hh:mm:ss GET /page.html - 62.161.78.73 - Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)
http://www.from.com/from.html 200 1234 HTTP/1.1
You must use : LogFormat=2 (or LogFormat="%time2 %method %url %logname %host %other %ua %referer %code
%bytesd %other")
If your log records are EXACTLY like this (Some IIS 6+  W3C log format):
yyyy-mm-dd hh:mm:ss GET /page.html - 62.161.78.73 - Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)
http://www.from.com/from.html 200 1234
You must use : LogFormat=2 (or LogFormat="date time cs-method cs-uri-stem cs-username c-ip cs-version
cs(User-Agent) cs(Referer) sc-status sc-bytes")
If your log records are EXACTLY like this (Some ISA  W3C log format):
62.161.78.73, anonymous, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1), N, 1/1/2001, 0:00:16, W3ReverseProxy,
HCSERV2, -, www.host.be, 192.168.141.101, 80, 266, 406, 10042, http, TCP, GET, http://192.168.141.101/, text/html,
Inet, 200, 0x42330010, -, -
You must use :
LogFile="sed -e 's/, /\t/g' "/yourlogpath/yourlogfile.log" |"
LogFormat=2
LogSeparator=" "
If your log records are EXACTLY like this (With some WebSite versions):
yyyy-mm-dd hh:mm:ss 62.161.78.73 - 192.168.1.1 80 GET /page.html - 200 11205 0 0 HTTP/1.1 mydomain.com
Mozilla/4.0+(compatible;+MSIE+5.5;+Windows+98) - http://www.from.com/from.html
You must use : LogFormat="%time2 %host %logname %other %other %method %url %other %code %bytesd %other
%other %other %other %ua %other %referer"
If your log records are EXACTLY like this (Webstar native log format):
05/21/00 00:17:31 OK 200 212.242.30.6 Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) http://www.cover.dk/
"www.cover.dk" :Documentation:graphics:starninelogo.white.gif 1133
You must use : LogFormat=3
If your log records are EXACTLY like this (With some Lotus Notes/Domino  versions):
62.161.78.73 - Name Surname Service [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234
"http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
You must use : LogFormat=6
If your log records are EXACTLY like this (Lotus Notes/Domino 6.x log format):
62.161.78.73 - "Name Surname" Service [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234
"http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
You must use : LogFormat="%host %other %lognamequot %time1 %methodurl %code %bytesd %refererquot %uaquot"
Frequently Asked Questions + Troubleshooting
72/103
14/07/2015
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
document file. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Also a preview
add bookmarks to pdf reader; creating bookmarks in a pdf document
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Demo Code in VB.NET. The following VB.NET codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
adding bookmarks in pdf; creating bookmarks in pdf documents
If your log records are EXACTLY like this (With Oracle9iAS ):
62.161.78.73 - [dd/mmm/yyyy:hh:mm:ss +0x00] GET /page.html HTTP/1.1 200 1234 - "Mozilla/4.0 (compatible; MSIE
5.01; Windows NT 5.0)"
Where separators are "tab" characters or several "spaces", You must use : LogFormat="%host %logname %time1
%method %url %other %code %bytesd %referer %uaquot" and LogSeparator="\s+"
If you use a FTP server like ProFTPd :
See FAQ-COM090.
If you want to analyze a mail log file (Postfix, Sendmail, QMail, MDaemon , Exchange):
See FAQ-COM100.
If you use a Media Server (Realmedia, Windows Media Server):
See FAQ-COM110.
If your log records are EXACTLY like this (With some providers):
62.161.78.73 - - [dd/Month/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" "-" 200 1234
You must use : LogFormat="%host %other %logname %time1 %methodurl %other %code %bytesd"
Note: Browsers, OS's, Keywords and Referers features are not available with a such format.
There are a lot of other possible log formats.
You must use a personalized log format LogFormat ="..." as described in config file to support other various log formats.
FAQ-COM120 : HOW TO ROTATE MY LOGS WITHOUT LOSING DATA
PROBLEM:
I want to archive/rotate my logs using my server system (for example logrotate) options or a third software (rotatelog,
cronolog) but I don't want to lose any visits information during the rotate process.
SOLUTION:
If your config file is setup with a LogFile parameter that point to your current running log file (required if you want to use the
AllowToUpdateStatsFromBrowser option to have "real-time" statistics), to avoid losing too much records during the rotate
process, you must run the AWStats update JUST BEFORE the rotate process is done.
The best way to do that on 'Linux like' OS is to use the linux built-in logrotate feature. You must edit the logrotate config file
used for your web server log file (usually stored in /etc/logrotate.d directory) by adding the AWStats update process as a
preprocessor command, like this example (bold lines are lines to add for having a prerotate process):
/usr/local/apache/logs/*log
{
notifempty
daily
rotate 7
compress
sharedscripts
prerotate
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=mydomainconfig
endscript
postrotate
/usr/bin/killall -HUP httpd
endscript
}
If using a such solution, this is sequential steps that happens:
Step Description
Step name
Date/Time
example
A
logrotate is started (by cron)
Start of logrotate 04:02:00
B
awstats -update is launched by logrotate
Start of awstats 04:02:01
C
awstats start to read the log file file.log
04:02:02
D
04:05:00
• 
Frequently Asked Questions + Troubleshooting
73/103
14/07/2015
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmarks in pdf from word; how to bookmark a pdf page
C# PDF File Compress Library: Compress reduce PDF size in C#.net
NET framework. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. C# class demo
delete bookmarks pdf; create bookmark in pdf automatically
awstats has reached the end of log file so now it starts to save its database on
disk.
E
awstats has finished to save its new database, so it stops
End of awstats
04:06:00
F
logrotate moves old log file file.log  to a new name file.log.sav. Apache now
logs in this file file.log.sav since log file handle has not been changed (only log
file name has been renamed).
Log move
04:06:01
G
logrotate sends the -HUP or -USR1 signal to Apache.
With -HUP, Apache immediatly kills all its child process/thread, close log file
file.log.sav, and reopen file  file.log. So now, ALL hits are written to new file.
With -USR1, Apache only ask its child process/thread to stop only when HTTP
request will be completely served. However it closes immediatly log file
file.log.sav, and reopen file  file.log. So only NEW hits are written to new log
file. HTTP requests that are still running will write in old one.
Apache restart 04:06:02
H
logrotate starts compress the old log file file.log.sav into file.log.gz
Start compress 04:06:03
I
If some apache threads/processes are still running (because the kill sent was
-USR1, so child process are waiting end of request before to stop), then those
threads/processes are still writing to file.log.sav.
If kill -HUP was used, all process are already restarted so all writes in new
file.log.
J
logrotate has finished to compress log file into file.log.gz. File file.log.sav is
deleted.
End of compress
End of logrotate
04:07:03
K
If signal was -USR1, some old childs can still run (when serving a very long
request for example). So the log writing, still done in same file handle are
going to a file that has been removed. So log writing are lost nowhere (this is
only if -USR1 was used and if request was very long).
The advantage of this solution is that it is a very common way of working, used by a lot of products, and easy to setup.
You will notice that you can "lose" some hits:
If you use the -HUP signal, you will only lose all hits that were written during D and E. Note that you will also break all
requests still running at G. In the example, it's a 1 minute lost (for small or medium web sites, it will be less than few
seconds), so this give you an error lower than 0.07% (less for small web sites). This is not significant, above all for a
"statistics" progam.
If you use the -USR1 signal, you will not kill any request. But you will lose all hits that were wrote during D and E (like with
-HUP) but also all hits that are still running after H (all very long request that requires several minutes to be served). If hit
ends during I, it is wrote in a log file already analyzed, if hit ends at K, it is wrote nowhere. In the example, it's also a 0.07%
error plus error for other not visible hits that were finished during I or K, but number of such hits should be very low since
only hits that started before G and not finished after H are concerned. In most cases a hits needs only few milliseconds to
be served so lost hits could be ignored.
Note also that if you have x logrotate config files, with each of them a postrotate with a kill -HUP, you send a kill x times to
your server process. So try to include several log files in same logrotate config file. You can have several awstats update
command in the same prerotate section and you will send the -HUP only once, after all updates are finished. However,
doing this, you will have a lap time between D and F (were some hits are lost) that will be higher.
Another common way of working is to choose to run the AWStats update process only once the log file has been archived.
This is required for example if you use the cronolog or rotatelog tools to rotate your log files. For example, Apache users
can setup their Apache httpd config file to write log file through a pipe to cronolog or rotatelog using Apache CustomLog
directive:
CustomLog "|/usr/sbin/cronolog [cronolog_options] /var/logs/access.%Y%m%d.log" combined
If you use a such feature, you can't trigger AWStats update process to be ran just BEFORE the rotate is done, so you must
run it AFTER the rotate process, so on the archived log file.
To setup awstats to always point to last archive log file, you can use the 'tags' available for LogFile.
The problem with that is that your data are refreshed only after a rotate has done. However, you will miss absolutely
nothing (no hits) and your server processes are never killed.
• 
So, if you really want to not lose absolutely no hit and want to have updates more frequently than the rotate frequency, the
best way is still an hybrid solution (i am not sure that it worth the pain, and remember that statistics are only statistics):
• 
Frequently Asked Questions + Troubleshooting
74/103
14/07/2015
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Export PDF images to HTML images. The HTML document file, converted by C#.NET PDF to HTML SDK, preserves all the original anchors, links, bookmarks and font
copy pdf bookmarks to another pdf; pdf bookmarks
How to C#: Basic SDK Concept of XDoc.PDF for .NET
C# programmers can convert Word, Excel, PowerPoint Tiff, Jpeg, Bmp, Png, and Gif to PDF document. This class describes bookmarks in a PDF document.
bookmarks in pdf; edit pdf bookmarks
You run the awstats update process from you crontab frequently, every hour for example, and half and hour before the
rotate has done. See next FAQ to know how to setup a scheduled job.
Then, once the rotate has been done (by the logrotate or by a piped cronolog log file), and before the next scheduled
awstats update process start, you run another update process on the archived log file using the -logfile option to force
update on the archived log file and not the current log file defined in awstats config file. This will allow you to update the
half hour missing, until the log rotate (AWStats will find the new lines). However don't forget that this particular update
MUST be finished before the next croned update.
FAQ-COM130 : HOW TO RUN AWSTATS UPDATE PROCESS FREQUENTLY
PROBLEM:
AWStats must be ran frequently to update statistics. How can I do this ?
SOLUTION:
A good way of working is to run the AWStats update process as a preprocessor of your log rotate process. See previous
FAQ (FAQ-COM120) for this.
But you can also run AWStats update process regularly by a scheduler:
With Windows, you can use the internal task scheduler. The use of this tool is not an AWStats related problem, so please
take a look at your Windows manual. Warning, if you use "awstats.pl -config=mysite -update" in your scheduled task, you
might experience problem of failing task. Try this instead
"C:\WINNT\system32\CMD.EXE /C C:\[awstats_path]\awstats.pl -config=mysite -update"
or
"C:\[perl_path]\perl.exe C:\[awstats_path]\awstats.pl -config=mysite -update"
A lot of other open source schedulers are often better (otherwise there is also good sharewares or freewares).
With unix-like operating systems, you can use the "crontab".
This is examples of lines you can add in the cron file (see your unix reference manual for cron) :
To run update every day at 03:50, use :
50 3 * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null
To run update every hour, use :
0 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null
FAQ-COM140 : HOW CAN I EXCLUDE MY IP ADDRESS (OR WHOLE SUBNET MASK) FROM STATS ?
PROBLEM:
I don't want to see my own IP address in the stats or I want to exclude counting visits from a whole subnet.
SOLUTION:
You must edit the config file to change the SkipHosts parameter.
For example, to exclude:
your own IP address 123.123.123.123, use SkipHosts="123.123.123.123"
• 
the whole subnet 123.123.123.xxx, use SkipHosts="REGEX[^123\.123\.123\.]"
• 
all sub hosts xxx.myintranet.com, use SkipHosts="REGEX[\.myintranet\.com$]" (This one works only if DNS lookup is
already done in your log file).
FAQ-COM142 : HOW TO GET THE SCREEN SIZE AND BROWSER CAPABILITIES REPORT WORKING ?
PROBLEM:
I see in the AWStats features list that it can report the screen size used by visitors and other browsers' informations, (like if
browser support Flash, Java, Javascript, PDF, MAcromedia, Audio plugins, etc...). How can I do that ?
SOLUTION:
AWStats is a log analyzer, so to report the screen size of your visitor, we need to have information inside the log file itself.
For this, the only way to do that, is to add some HTML tags inside some of your pages (the home page is enough to get
use ratios). This tag will add call to a javascript that ask your browser to get a virtual URL that includes, in its parameters,
the screen size resolution and all other informations about browser capabilities (Flash, Java, Javascript, PDF,
Macromedia, Audio plgins...).
This is the code you must add (at bottom of your home page for example) :
<script language="javascript" type="text/javascript" src="/js/awstats_misc_tracker.js" ></script>
<noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height="0" width="0" border="0" style="display:
none"></noscript>
Note that you must also place the awstats_misc_tracker.js script (provided in /js directory with AWStats) inside a js
directory stored in your web root.
Once this is done, load your home page with your browser and go to check that inside your log file if you can see a line
• 
Frequently Asked Questions + Troubleshooting
75/103
14/07/2015
C# Create PDF Library SDK to convert PDF from other file formats
create searchable PDF document from Microsoft Office Word, Excel and PowerPoint. Create and save editable PDF with a blank page, bookmarks, links, signatures
bookmark page in pdf; add bookmarks to pdf preview
VB.NET PDF: Basic SDK Concept of XDoc.PDF
VB.NET programmers can convert Word, Excel, PowerPoint Tiff, Jpeg, Bmp, Png, and Gif to PDF document. This class describes bookmarks in a PDF document.
create bookmarks pdf files; bookmark a pdf file
that looks like that:
123.123.123.123 - - [24/Apr/2005:16:09:38 +0200] "GET
/js/awstats_misc_tracker.js?screen=800x600&win=724x517&...&sid=awssession_id123 HTTP/1.1" 200 6237
"http://therefererwebsite.com/index.php" "Mozilla/5.0 (Linux) Gecko/20050414 Firefox/1.0.3"
If yes, you can then run the AWStats update process. Screen sizes information will be analyzed. All you have to do now is
to edit your config file to tell AWStats to add the report on html output. For this, change the ShowMiscStats parameter.
ShowMiscStats=anjdfrqwp
Note: If you change directory where awstats_misc_tracker.js is stored (somewhere else than the /js directory), you must
modify, according to your change:
- the html tags added
- the line: var awstatsmisctrackerurl="/js/awstats_misc_tracker.js"; inside the awstats_misc_tracker.js script
- the parameter MiscTrackerUrl inside AWStats configuration file.
FAQ-COM145 : HOW TO USE THE EXTRA SECTIONS FEATURES ?
PROBLEM:
I want to build personalized reports not provided in default AWStats reports. How can I setup the Extra Sections
parameters in my AWStats config file to do so ?
SOLUTION:
Take a look at the Using AWStats Extra Sections features
FAQ-COM150 : BENCHMARK / FREQUENCY TO LAUNCH AWSTATS TO UPDATE STATISTICS
PROBLEM:
What is AWStats speed ?
What is the frequency to launch AWStats process to update my statistics ?
SOLUTION:
All benchmarks information and advice on frequency for update process are related into the Benchmark page.
FAQ-COM200 : HOW REVERSE DNS LOOKUP WORKS, UNRESOLVED IP ADDRESSES
PROBLEM:
The reported page AWStats shows me has no hostnames, only IP addresses, countries reported are all "unknown".
SOLUTION:
When AWStats find an IP address in your log file, it tries a reverse DNS lookup to find the hostname and domain if the
DNSLookup parameter, in your AWStats config file, is DNSLookup=1 (Default value). So, first, check if you have the good
value. The DNSLookup=0 must be used only if your log file contains already resolved IP address. For example, when you
set up Apache with the HostNameLookups=on directive. When you ask your web server to make itself the reverse DNS
lookup to log hostname instead of IP address, you will still find some IP addresses in your log file because the reverse
DNS lookup is not always possible. But if your web server fails in it, AWStats will also fails (All reverse DNS lookups use
the same system API). So to avoid AWStats to make an already done lookup (with success or not), you can set
DNSLookup=0 in AWStats config file. If you prefer, you can make the reverse DNS lookup on a log file before running your
log analyzer (If you only need to convert a logfile with IP Addresses into a logfile with resolved hostnames). You can use
for this logresolvemerge  tool provided with AWStats distribution (This tools is an improved version of logresolve provided
with Apache).
FAQ-COM250 : DIFFERENT RESULTS THAN OTHER ANALYZER
PROBLEM:
I also use Webalizer, Analog (or another log analyzer) and it doesn't report the same results than AWStats. Why ?
SOLUTION:
If you compare AWStats results with an other log file analyzer, you will found some differences, sometimes very important.
In fact, all analyzer (even AWStats) make "over reporting" because of the problem of proxy-servers and robots. However
AWStats is one of the most accurate and its "over reporting" is very low where all other analyzers, even the most famous,
have a VERY HIGH error rate (10% to 200% more than reality !).
This is the most important reasons why you can find important differences:
Some dynamic pages generated by CGI programs are not counted by some analyzer (ie Webalizer) like a "Page" (but only
like a "Hit") if CGI prog does not end with a defined extension (.cgi, ...), so they are not included correctly in their statistics.
AWStats use on oposite policy, assuming a file is a page except if type is in a list (See NotPageList parameter). Error rate
with a such policy is lower.
• 
Some log analyzers use the "Hits" to count visitors. This is a very bad way of working : Some visitors use a lot of proxy
servers to surf (ie: AOL users), this means it's possible that several hosts (with several IP addresses) are used to reach
your site for only one visitor (ie: one proxy server download the page and 2 other servers download all images). Because
• 
Frequently Asked Questions + Troubleshooting
76/103
14/07/2015
of this, if stats of unique visitors are made on "hits", 3 users are reported but it's wrong. So AWStats considers only HTML
"Pages" to count unique visitors. This decrease the error, not completely, because it's always possible that a proxy server
download one HTML frame and another one download another frame, but this make the over-reporting of unique visitors
less important.
Another important reason to have difference is that an error log files is not always completely sorted but only "nearly"
sorted because of cache and writing log engines used by server. Nearly all log analyzers (commercial and not) assumes
that log file is "exactly" sorted by hit date to calculate visits, entry and exit pages. But there is nothing that guaranties this
and some log files are only "nearly" sorted, above all log files on highly loaded servers. AWStats has an advanced parsing
algorithm that is able to count correctly visits, entry and exit pages even if log file is only "nearly" sorted.
• 
AWStats does not count twice (with default setup) redirects made by server "rewrite rules". Such rule makes two hits into
log files, so most log analyzer count them twice, but only one page were "viewed".
• 
Then, there is internal bugs in log analyzers that make reports wrong. For example, a lot of users have reported that
Webalizer "doubles" the number of visits or visitors in some circumstances.
• 
AWStats is able to detect robots visits. Most analyzers think robots visits are human visitors. This error make them to
report more visits and visitors than reality. When AWStats reports a "1 visitor", it means "1 human visitor" (even if it's not
posible to detect all robots, most of them are detected). "Robots visitors" are reported separately in the "Robots/Spiders
visitors" chart. AWStats is a log analyzer with one of the most important robot database. In fact, a lot of other log analyzer
uses an update copy of the AWStats robot database for their own use. However, even if a robot database is up to date,
there is still some robot hits that are not possible to detect using log analyzing. For this reason, AWStats still report 10%
more visits than reality because of such robots. This is the major reason that create differences between a log analyzer
and a HTML tagger system like Google Analytics.
Now let see other minor reasons. However those points explains only very small differences (
• 
To differenciate new visits from same visitor, log analysers uses a visit time-out. If value differs, then result differs (for visit
count and entry and exit pages). A such time-out is a fixed value (For example 60 minutes) meaning if a visitor make a hit
59 minutes after downloading the previous page, it's the same visits, if he make it 61 minutes after, it's a new visit. Of
course, there is no realy difference between 59 and 61, but couting visits without time-out is not possible. And because the
most important is to have a time-out (and not really it's value), AWStats time-out is not an "exact" value but is "around" 60
minutes. This allows AWStats to have better speed processing time, so you also might experience little differences, in visit
count, between AWStats and another log analyzer even if their time-out are both defined to same value (because AWStats
time-out is not exactly but nearly value defined).
• 
There is also differences in log analyzers databases and algorithms that make details of results less or more accurate:
AWStats has a larger browsers, os', search engines and robots database, so reports concerning this are more accurate.
AWStats has url syntax rules to find keywords or keyphrases used to find your site, but AWStats has also an algorithm to
detect keywords of unknown search engines with unknown url syntax rule.
Etc...
If you want to check how serious your log analyzer is, try to parse the following log file. It's a very common log file but
results will show you how bad most log analyzers are (above all commercial products):
# This is a sample of log file that contains a lot of various data we can find
# in a log file. Great sample to test reliability and accuracy of any log
# analyzer.
# ----------------------------------------------------------------------------
# This sample log file contains 10 differents IPs that are :
# Viewed traffic: 5 different true human visitors making 6 human visits
# 21 hits on pages and 15 hits not pages (36 hits)
# Not viewed traffic: 13 pages, 15 hits
# ----------------------------------------------------------------------------
# 80.8.55.1  2 visits (start at 00:00:00 and at 12:00:00 with both entry page on /)
           And 2 hits to add favourites but first is non root hit with error meaning it's same "add"
# 80.8.55.2  Not a visit, only an image included into a page of an other site
# 80.8.55.3  1 visit (and add home page to favourites)
# 80.8.55.4  same visitor than 80.8.55.3 using aol proxy
# 80.8.55.5  Not a visit (but bot indexing)
# 80.8.55.6  1 visit (authenticated visitor)
# 80.8.55.7  1 visit (authenticated visitor with space in name)
# 80.8.55.8  Not a visit (try but failed twice with 404 and 405 error)
# 80.8.55.9  Not a visit (but a worm attack)
# 80.8.55.10 1 visit that come from a web page that is not a search engine
80.8.55.1 - - [01/Jan/2001:00:00:10 +0100] "GET /page1.html HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:00 +0100] "GET / HTTP/1.0" 200 7009 "http://www.sitereferer/cgi-bin/search.pl?q=a" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:20 +0100] "GET /page2.cgi HTTP/1.0" 200 7009 "http://localhost/page1.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:25 +0100] "GET /page3 HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:30 +0100] "GET /image.gif HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:35 +0100] "GET /image2.png HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:40 +0100] "GET /dir/favicon.ico HTTP/1.0" 404 299 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:40 +0100] "GET /favicon.ico HTTP/1.0" 200 299 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:12:00:00 +0100] "GET / HTTP/1.0" 200 7009 "http://WWW.SiteRefereR:80/cgi-bin/azerty.pl?q=a" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:10 +0100] "GET /page1.html HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:20 +0100] "GET /page2.cgi HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
• 
Frequently Asked Questions + Troubleshooting
77/103
14/07/2015
80.8.55.1 - - [01/Jan/2001:12:00:25 +0100] "GET /page3 HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:30 +0100] "GET /image.gif HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:35 +0100] "GET /image2.png HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:40 +0100] "GET /js/awstats_misc_tracker.js HTTP/1.1" 200 4998 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:45 +0100] "GET /js/awstats_misc_tracker.js?screen=1024x768&cdi=32&java=true&shk=n&fla=y&rp=y&mov=n&wma=y&pdf=y&uid=awsuser_id1073036758306r9417&sid=awssession_id1073036758306r9417 HTTP/1.1" 200 4998 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.2 - - [01/Jan/2001:12:01:00 +0100] "GET /hitfromothersitetoimage.gif HTTP/1.0" 200 7009 "-" "Mozilla/5.0+(Macintosh;+U;+PPC+Mac+OS+X+Mach-O;+en-US;+rv:1.4)+Gecko/20030624+Netscape/7.1"
80.8.55.3 - - [01/Jan/2001:12:01:10 +0100] "GET / HTTP/1.0" 200 7009 "http://www.sitereferer:81/cgi-bin/azerty.pl" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:15 +0100] "GET /page1.html HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:20 +0100] "GET /page2.cgi?x=a&family=a&y=b&familx=x HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:25 +0100] "GET /page3 HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:30 +0100] "GET /image.gif HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:35 +0100] "GET /image2.png HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.4 - - [01/Jan/2001:12:01:45 +0100] "GET /samevisitorthan80.8.55.3usingaolproxy.gif HTTP/1.0" 200 7009 "-" "Mozilla/3.0 (Windows 98; U) Opera 6.03"
80.8.55.5 - - [01/Jan/2001:12:02:00 +0200] "GET /robots.txt HTTP/1.0" 200 299 "-" "This is an unkown user agent"
80.8.55.5 - - [01/Jan/2001:12:02:00 +0200] "GET /mydir/robots.txt HTTP/1.0" 200 299 "-" "This is an unkown user agent"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot1.html HTTP/1.0" 200 7009 "-" "GoogleBot"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot2a.html HTTP/1.0" 200 7009 "-" "This is bot xxx"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot2b.html HTTP/1.0" 200 7009 "-" "This_is_bot_xxx"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot3.html HTTP/1.0" 200 7009 "-" "This is sucker xxx"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot4.html HTTP/1.0" 200 7009 "-" "woozweb-monitoring"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot5.html HTTP/1.0" 200 7009 "-" "wget"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /pagefromabot6.html HTTP/1.0" 200 7009 "-" "libwww"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /cgi-bin/order.cgi?x=a&family=a&productId=998&titi=i&y=b&y=b HTTP/1.0" 200 7009 "http://www.google.com/search?sourceid=navclient&ie=utf-8&oe=utf-8&q=ma%C3%AEtre+�l�ve" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image1.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image2.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image3.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image4.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image5.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.7 - John Begood [01/Jan/2001:13:01:00 +0100] "GET /cgi-bin/order.cgi;family=f&type=t&productId=999&titi=i#BIS HTTP/1.0" 200 7009 "http://www.a9.com/searchkeyfroma9" "Mozilla/3.01 (compatible;)"
80.8.55.7 - John Begood [01/Jan/2001:13:01:00 +0100] "GET /do/Show;jsessionid=6BEF030AB1677BEC333FFCC7BF4DF564?param=1477 HTTP/1.0" 200 7009 "-" "Mozilla/3.01 (compatible;)"
80.8.55.8 - - [01/Jan/2001:14:01:20 +0100] "GET /404notfoundpage.html?paramnotpagefound=valparamnotpagefound HTTP/1.0" 404 0 "http://refererto404nofoundpage/pageswithbadlink.html?paramrefnotpagefound=valparamrefnotpagefound" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.8 - - [01/Jan/2001:14:01:20 +0100] "GET /405error.html HTTP/1.0" 405 0 "http://refererto405error/pagesfrom405.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.9 - - [01/Jan/2001:15:00:00 +0200] "GET /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.0" 404 299 "-" "-"
80.8.55.9 - - [01/Jan/2001:15:00:00 +0200] "SEARCH / -" 411 - "-" "-"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParamss..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET /index.html HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParamss..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET /index.php HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParamss..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParamss..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParamss..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:30:00 -0300] "GET /page1.html HTTP/1.1" 200 70476 "http://www.freeweb.hu/icecat/filmek/film04.html" "Mozilla/5.0 (Windows; U; en-US) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"
80.8.55.10 - - [01/Jan/2001:17:00:00 -0300] "GET /cgi-bin/awredir.pl?url=http://xxx.com/aa.html HTTP/1.1" 302 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParamss..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
This is what you should find:
6 true human visits
5 different true visitors
1 bot visit
1 worm attack
The entry pages for true visits should be "/" (even for 80.8.55.1) or "/cgi-bin/order.cgi" but nothing else.
Note: I did not find any commercial log analyzer that can deal such a common log file correctly, so if you find, let me know !
FAQ-COM300 : DIFFERENCE BETWEEN LOCAL HOURS AND AWSTATS REPORTED HOURS
PROBLEM:
I use IIS and there's a difference between local hour and AWStats reported hour. For example I made a hit on a page at
4:00 and AWStats report I hit it at 2:00.
SOLUTION:
This is not a problem of time in your local client host. AWStats use only time reported in logs by your server and all time
are related to server hour. The problem is that IIS in some foreign versions puts GMT time in its log file (and not local
time). So, you have also GMT time in your statistics.
You can wait that Microsoft change this in next IIS versions. However, Microsoft sheet Q271196 "IIS Log File Entries Have
the Incorrect Date and Time Stamp" says:
The selected log file format is the W3C Extended Log File Format. The extended log file format is defined in the W3C
Working Draft WD-logfile-960323 specification by Phillip M. Hallam-Baker and Brian Behlendorf. This document defines
the Date and Time files to always be in GMT. This behavior is by design.
Frequently Asked Questions + Troubleshooting
78/103
14/07/2015
So this means this way of working might never be changed, so another chance is to use the AWStats plugin 'timezone'.
Warning, this plugin need the perl module Time::Local and it reduces seriously AWStats speed.
To enable the plugin, uncomment the following line in your config file.
LoadPlugin="timezone TZ"
where TZ is value of your signed timezone (+2 for Paris, -8 for ...)
FAQ-COM320 : WHAT DOES "EU" (EUROPEAN COUNTRY)" MEAN IN GEOIP COUNTRY REPORTS ?
PROBLEM:
I use the AWStats GeoIp country plugins to report countries according to geolocalisation of IP address. In country report, I
have some visitors said to come from "eu (European country)". If this visitor come from France, does this means it is
reported twice ?
SOLUTION:
No.
"eu (European country)" means we are sure that visitor come from an european country but we can't tell wich one. It might
be a major country like France, Great Britain, Spain, Germany... like a very small one.
So, in the country report, each visitor is in one and only one group. If reported in "eu (European country)", it is not counted
in another country, and if reported in a particular country, it is not counted in "eu (European country)", even if this country is
in Europe.
FAQ-COM350 : HOW CAN I PROCESS AN OLD LOG FILE ?
PROBLEM:
I want to process an old log file to include its data in my AWStats reports.
SOLUTION:
You must change your LogFile parameter to point to the old log file and run the update (or use the -LogFile option on
command line to overwrite LogFile parameter). The update process can only accept files in chronological order for a
particular month, so if you have already processed a recent file and forgot to run update on a log file that contains older
data, you must reset all of your statistics (see FAQ-COM500) and restart all of the update processes for all past log files
and in chronological order.
However, there is a "tip" that allows you to rebuild only the month were you missed data:
Imagine we are on 5th of July 2003, all your statistics are up to date except for the 10th of April 2003 (you forgot to run the
update process for this day, so there is no visit for this day). You can :
- Reset the statistics for April only (this means remove the file awstats042003.[config.]txt as explained in FAQ-COM500),
- Move the statistics history files for the month after April (file awstats052003.[config.]txt, awstats062003.[config.]txt,...) into
a temp directory (so that it is no longer in the DirData directory; as if they were deleted).
- Run the update process on all log files for April (in chronological order). AWStats does not complain about "too old
record" because there is no history files in DirData directory that contains compiled data more recent than records into log
you process.
- Moved back the month history files you saved into your DirData directory.
Your statistics are up to date and the missing days are no longer missing.
FAQ-COM360 : HOW CAN I PROCESS SEVERAL LOG FILES IN ONE RUN ?
PROBLEM:
How can I update my statistics for several log file, in one run ?
SOLUTION:
A solution should be to setup your config file with something like:
LogFile=mylog*.log
However, with such a syntax, AWStats can't know in wich order processing log files (wich log file is the first, next or last).
So to work like this you must use the following syntax:
LogFile="/pathto/logresolvemerge.pl mylog*.log |"
Logresolvemerge is a tool provided with AWStats (in tools directory) that merges several log files on the fly. It opens a
pointer on each file and sends, line by line, the oldest record from this. Using such a tool as a pipe source for AWStats
LogFile parameter is a very good solution because, it allows you to merge log files whatever their size with no memory
use, no hard disk use (no temporary files built), it is fast, it prevents you from a bad order if your log files are not correctly
ordered, etc...
This tool can also be used to process log files from load balanced systems (see FAQ-COM400)
FAQ-COM400 : HOW CAN I UPDATE MY STATISTICS WHEN I USE A LOAD BALANCING SYSTEM THAT SPLITS
MY LOGS ?
PROBLEM:
How can I update my statistics when i use a load balancing system that split my logs ?
Frequently Asked Questions + Troubleshooting
79/103
14/07/2015
SOLUTION:
First solution is to merge all split log files resulted from all your load balanced servers into one. For this, you can use the
logresolvemerge tool provided with AWStats :
logresolvemerge.pl file1.log file2.log ... filen.log > newfiletoprocess.log
And setup the LogFile parameter in your config file to process the newfiletoprocess.log file or use the -LogFile  command
line option to overwrite LogFile value.
As an other solution, if you miss disk space, or to save time, you can ask logresolvemerge  to merge log files on the fly
during the AWStats update process. For this, you can use the following syntax in your AWStats config file:
LogFile="/pathto/logresolvemerge.pl file*.log |"
See also FAQ-COM360 for explanation on logresolvemerge use.
FAQ-COM500 : HOW CAN I RESET ALL MY STATISTICS ?
PROBLEM:
I want to reset all my statistics to restart the update process from the beginning.
SOLUTION:
All analyzed data are stored by AWStats in history files called awstatsMMYYYY.[config.]txt (one file each month). You will
find those files in directory defined by DirData parameter (same directory than awstats.pl by default).
To reset all your statistics, just delete all files awstatsMMYYYY.txt
To reset all your statistics built for a particular config file, just delete all files awstatsMMYYYY.myconfig.txt
Warning, if you delete those data files, you won't be able to recover your stats back, unless you kept old log files
somewhere. You will have to process all past log files (in chronological order) to get your statistics back.
FAQ-COM600 : HOW CAN I COMPILE AND BUILD STATISTICS ON A DAILY BASIS ONLY ?
PROBLEM:
How can I compile and build statistics on a daily basis. I mean i want to have a full report with all charts with data for a
particular day only and want one report for each day of month.
SOLUTION:
If you use version 6.5 or higher:
To build statistics:
What you can do is rerun the update process by adding the parameter -databasebreak=hour or -databasebreak=day.
Providing no option is similar than using -databasebreak=month, the default and old behaviour of AWStats.
Using this hidden option will ask AWStats to build a different database file for each break entity, this means that several
reports are done for each hour or day, depending on option used.
To read a report:
Add same option -databasebreak=hour or -databasebreak=day with -output option when AWStats report is staticaly built
from command line, or add &databasebreak=hour or &databasebreak=day if AWStats is called as a CGI. Also, complete
options month and year used to choose month and year of report with other option day (when databasebreak option is
'day' or 'hour') and hour (only when databasebreak is 'hour')
So use -day=XX  and/or -hour=XX  when AWStats is run from command line. Use &day=XX  and/or &hour=XX  if AWStats is
called as a CGI.
This feature is recent so may have results not completely reliable, that's why it is not yet fully documented.
If you use version 6.4 or older:
This is an non documented and not supported trick, as this is not the standard way of working:
First, run the update process at midnight (or on a log file that was rotated at midnight so that it contains only data for this
particular day (you can choose another hour in night if you want to have days that "start" at an different hour).
Once the update process has been ran, MOVE (and not copy) the history file built by AWStats. For example on Unix like
systems:
mv   mydirdata/awstatsMMYYYY.mydomain.txt   mydirdate/awstatsDDMMYYYY.mydomain.txt
Note that the name has been changed by adding the day. Repeat this each day after the update process.
With this you will have one history file for each day. You can then see full stats for a particular day by adding the non
documented parameter -day=DD on command line (with others like -month=MM and -year=YYYY). If ran from a browser
you can also add &day=DD on URL.
However, if you have full day by day statistics, you don't have anymore statistics for full month, except if you create a
second config file that whose history files would not be moved.
FAQ-COM700 : CAN I SAFELY REMOVE A LINE IN HISTORY FILES (awstatsMMYYYY*.txt) ?
PROBLEM:
After processing a log file I want to change my statistics without running AWStats update process but changing directly
data in AWStats historical database files.
SOLUTION:
Frequently Asked Questions + Troubleshooting
80/103
14/07/2015
Documents you may be interested
Documents you may be interested