Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张磊
/
FileStorageBeego
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
b80cdef2
authored
2014-11-23 23:57:27 +0800
by
astaxie
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge pull request #932 from DeanThompson/master
count log file lines
2 parents
98dcee06
6a9d04c2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
3 deletions
logs/file.go
logs/file.go
View file @
b80cdef
...
...
@@ -15,10 +15,11 @@
package
logs
import
(
"bytes"
"encoding/json"
"errors"
"fmt"
"io
/ioutil
"
"io"
"log"
"os"
"path/filepath"
...
...
@@ -170,17 +171,44 @@ func (w *FileLogWriter) initFd() error {
w
.
maxsize_cursize
=
int
(
finfo
.
Size
())
w
.
daily_opendate
=
time
.
Now
()
.
Day
()
if
finfo
.
Size
()
>
0
{
co
ntent
,
err
:=
ioutil
.
ReadFile
(
w
.
Filename
)
co
unt
,
err
:=
w
.
lines
(
)
if
err
!=
nil
{
return
err
}
w
.
maxlines_curlines
=
len
(
strings
.
Split
(
string
(
content
),
"
\n
"
))
w
.
maxlines_curlines
=
count
}
else
{
w
.
maxlines_curlines
=
0
}
return
nil
}
func
(
w
*
FileLogWriter
)
lines
()
(
int
,
error
)
{
fd
,
err
:=
os
.
Open
(
w
.
Filename
)
if
err
!=
nil
{
return
0
,
err
}
defer
fd
.
Close
()
buf
:=
make
([]
byte
,
32768
)
// 32k
count
:=
0
lineSep
:=
[]
byte
{
'\n'
}
for
{
c
,
err
:=
fd
.
Read
(
buf
)
if
err
!=
nil
&&
err
!=
io
.
EOF
{
return
count
,
err
}
count
+=
bytes
.
Count
(
buf
[
:
c
],
lineSep
)
if
err
==
io
.
EOF
{
break
}
}
return
count
,
nil
}
// DoRotate means it need to write file in new file.
// new file name like xx.log.2013-01-01.2
func
(
w
*
FileLogWriter
)
DoRotate
()
error
{
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment