| Conditions | 1 |
| Paths | 1 |
| Total Lines | 70 |
| Code Lines | 45 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php declare(strict_types=1); |
||
| 34 | public function __construct(string $format = null, LogEntryFactoryInterface $factory = null) |
||
| 35 | { |
||
| 36 | $this->software = 'Apache'; |
||
| 37 | $this->prettyName = 'Apache Access'; |
||
| 38 | $this->defaultFormat = "%h %l %u %t \"%r\" %>s %b"; |
||
| 39 | |||
| 40 | $this->addPath("/var/log/"); |
||
| 41 | $this->addPath("/var/log/apache/"); |
||
| 42 | $this->addPath("/var/log/apache2/"); |
||
| 43 | $this->addPath("/var/log/httpd/"); |
||
| 44 | $this->addPath("/usr/local/var/log/apache/"); |
||
| 45 | $this->addPath("/usr/local/var/log/apache2/"); |
||
| 46 | $this->addPath("/usr/local/var/log/httpd/"); |
||
| 47 | $this->addPath("/opt/local/apache/logs/"); |
||
| 48 | $this->addPath("/opt/local/apache2/logs/"); |
||
| 49 | $this->addPath("/opt/local/httpd/logs/"); |
||
| 50 | $this->addPath("C:/wamp/logs/"); |
||
| 51 | |||
| 52 | $this->addFile('access.log'); |
||
| 53 | $this->addFile('access_log'); |
||
| 54 | $this->addFile('apache.log'); |
||
| 55 | $this->addFile('apache_access.log'); |
||
| 56 | |||
| 57 | $this->addFormat('apache_common', '%h %l %u %t \"%r\" %>s %O"'); |
||
| 58 | $this->addFormat('apache_combined_vhost', '%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"'); |
||
| 59 | $this->addFormat('apache_combined', '%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"'); |
||
| 60 | |||
| 61 | $this->addColumn('%%' , 'percent', '', '(?P<percent>\%)'); |
||
| 62 | $this->addColumn('%t' , 'time', 'Date', '\[(?P<time>\d{2}/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/\d{4}:\d{2}:\d{2}:\d{2} (?:-|\+)\d{4})\]'); |
||
| 63 | $this->addColumn('%v' , 'serverName', 'ServerName', '(?P<serverName>([a-zA-Z0-9]+)([a-z0-9.-]*))'); |
||
| 64 | $this->addColumn('%V' , 'canonicalServerName', 'Canonical ServerName', '(?P<canonicalServerName>([a-zA-Z0-9]+)([a-z0-9.-]*))'); |
||
| 65 | $this->addColumn('%p' , 'port', 'Port', '(?P<port>\d+)'); |
||
| 66 | |||
| 67 | // Client IP address of the request |
||
| 68 | $this->addColumn('%a', 'remoteIp', 'IP', '(?P<remoteIp>{{PATTERN_IP_ALL}})'); |
||
| 69 | |||
| 70 | // Remote hostname |
||
| 71 | $this->addColumn('%h' , 'host', 'Remote Host', '(?P<host>[a-zA-Z0-9\-\._:]+)'); |
||
| 72 | |||
| 73 | // Local IP-address |
||
| 74 | $this->addColumn('%A', 'localIp', 'Local IP', '(?P<localIp>{{PATTERN_IP_ALL}})'); |
||
| 75 | |||
| 76 | // Remote user if the request was authenticated. May be bogus if return status (%s) is 401 (unauthorized). |
||
| 77 | $this->addColumn('%u', 'user', 'User', '(?P<user>(?:-|[\w\-\.]+))'); |
||
| 78 | |||
| 79 | $this->addColumn('%l', 'logname', 'Log Name', '(?P<logname>(?:-|[\w-]+))'); |
||
| 80 | $this->addColumn('%m', 'requestMethod', 'Method', '(?P<requestMethod>OPTIONS|GET|HEAD|POST|PUT|DELETE|TRACE|CONNECT|PATCH|PROPFIND)'); |
||
| 81 | $this->addColumn('%U', 'URL', 'URL', '(?P<URL>.+?)'); |
||
| 82 | $this->addColumn('%H', 'requestProtocol', 'Protocol', '(?P<requestProtocol>HTTP/(1\.0|1\.1|2\.0))'); |
||
| 83 | $this->addColumn('%r', 'request', 'Request', '(?P<request>(?:(?:[A-Z]+) .+? HTTP/(1\.0|1\.1|2\.0))|-|)'); |
||
| 84 | $this->addColumn('%>s','statuts', 'Status', '(?P<status>\d{3}|-)'); |
||
| 85 | $this->addColumn('%O', 'sentBytes', 'Size', '(?P<sentBytes>[0-9]+)'); |
||
| 86 | |||
| 87 | // Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a '-' rather than a 0 when no bytes are sent. |
||
| 88 | $this->addColumn('%b', 'responseBytes', 'Response Size', '(?P<responseBytes>(\d+|-))'); |
||
| 89 | |||
| 90 | //The time taken to serve the request, in seconds. |
||
| 91 | $this->addColumn('%T', 'requestTime', 'Request Time', '(?P<requestTime>(\d+\.?\d*))'); |
||
| 92 | $this->addColumn('%D', 'timeServeRequest', 'Time Server Request', '(?P<timeServeRequest>[0-9]+)'); |
||
| 93 | $this->addColumn('%I', 'receivedBytes', 'Received Bytes', '(?P<receivedBytes>[0-9]+)'); |
||
| 94 | |||
| 95 | // common named columns (no pattern, use generic pattern bellow) |
||
| 96 | $this->addColumn('%{Referer}i', 'headerReferer', 'Referer', ''); |
||
| 97 | $this->addColumn('%{User-Agent}i', 'headerUserAgent', 'User Agent', ''); |
||
| 98 | |||
| 99 | // dymanic named columns |
||
| 100 | $this->addPattern('\%\{(?P<name>[a-zA-Z]+)(?P<name2>[-]?)(?P<name3>[a-zA-Z]+)\}i', '(?P<header\\1\\3>.*?)'); |
||
| 101 | |||
| 102 | |||
| 103 | parent::__construct($format, $factory); |
||
| 104 | } |
||
| 106 | } |