本文整理汇总了Golang中github.com/gleez/smtpd/log.LogError函数的典型用法代码示例。如果您正苦于以下问题:Golang LogError函数的具体用法?Golang LogError怎么用?Golang LogError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LogError函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: ServeHTTP
// ServeHTTP builds the context and passes onto the real handler
func (h handler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
// Create the context
ctx, err := NewContext(req)
if err != nil {
log.LogError("Failed to create context: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
defer ctx.Close()
// Run the handler, grab the error, and report it
buf := new(httpbuf.Buffer)
log.LogTrace("Web: %v %v %v %v", parseRemoteAddr(req), req.Proto, req.Method, req.RequestURI)
err = h(buf, req, ctx)
if err != nil {
log.LogError("Error handling %v: %v", req.RequestURI, err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
// Save the session
if err = ctx.Session.Save(req, buf); err != nil {
log.LogError("Failed to save session: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
// Apply the buffered response to the writer
buf.Apply(w)
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:31,代码来源:server.go
示例2: Start
// Start() the web server
func Start() {
addr := fmt.Sprintf("%v:%v", webConfig.Ip4address, webConfig.Ip4port)
server := &http.Server{
Addr: addr,
Handler: nil,
ReadTimeout: 60 * time.Second,
WriteTimeout: 60 * time.Second,
}
// We don't use ListenAndServe because it lacks a way to close the listener
log.LogInfo("HTTP listening on TCP4 %v", addr)
var err error
listener, err = net.Listen("tcp", addr)
if err != nil {
log.LogError("HTTP failed to start TCP4 listener: %v", err)
// TODO More graceful early-shutdown procedure
panic(err)
}
err = server.Serve(listener)
if shutdown {
log.LogTrace("HTTP server shutting down on request")
} else if err != nil {
log.LogError("HTTP server failed: %v", err)
}
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:27,代码来源:server.go
示例3: Login
//Login validates and returns a user object if they exist in the database.
func (mongo *MongoDB) Login(username, password string) (*User, error) {
u := &User{}
err := mongo.Users.Find(bson.M{"username": username}).One(&u)
if err != nil {
log.LogError("Login error: %v", err)
return nil, err
}
if ok := Validate_Password(u.Password, password); !ok {
log.LogError("Invalid Password: %s", u.Username)
return nil, fmt.Errorf("Invalid Password!")
}
return u, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:16,代码来源:mongostore.go
示例4: saveMailDatatoFile
// Debug mail data to file
func (c *Client) saveMailDatatoFile(msg string) {
filename := fmt.Sprintf("%s/%s-%s-%s.raw", c.server.DebugPath, c.remoteHost, c.from, time.Now().Format("Jan-2-2006-3:04:00pm"))
f, err := os.Create(filename)
if err != nil {
log.LogError("Error saving file %v", err)
}
defer f.Close()
n, err := io.WriteString(f, msg)
if err != nil {
log.LogError("Error saving file %v: %v", n, err)
}
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:16,代码来源:server.go
示例5: signalProcessor
// signalProcessor is a goroutine that handles OS signals
func signalProcessor(c <-chan os.Signal) {
for {
sig := <-c
switch sig {
case syscall.SIGHUP:
// Rotate logs if configured
if logf != nil {
log.LogInfo("Recieved SIGHUP, cycling logfile")
closeLogFile()
openLogFile()
} else {
log.LogInfo("Ignoring SIGHUP, logfile not configured")
}
case syscall.SIGTERM:
// Initiate shutdown
log.LogInfo("Received SIGTERM, shutting down")
go timedExit()
web.Stop()
if smtpServer != nil {
smtpServer.Stop()
} else {
log.LogError("smtpServer was nil during shutdown")
}
}
}
}
开发者ID:hiteshjoshi,项目名称:smtpd,代码行数:27,代码来源:main.go
示例6: IsGreyMail
func (mongo *MongoDB) IsGreyMail(email, t string) (int, error) {
tl, err := mongo.Emails.Find(bson.M{"email": email, "type": t, "isactive": true}).Count()
if err != nil {
log.LogError("Error checking email greylist: %s", err)
return -1, err
}
return tl, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例7: StoreGreyHost
func (mongo *MongoDB) StoreGreyHost(h *GreyHost) (string, error) {
err := mongo.Hosts.Insert(h)
if err != nil {
log.LogError("Error inserting greylist ip: %s", err)
return "", err
}
return h.Id.Hex(), nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例8: IsGreyHost
func (mongo *MongoDB) IsGreyHost(hostname string) (int, error) {
tl, err := mongo.Hosts.Find(bson.M{"hostname": hostname, "isactive": true}).Count()
if err != nil {
log.LogError("Error checking host greylist: %s", err)
return -1, err
}
return tl, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例9: Total
func (mongo *MongoDB) Total() (int, error) {
total, err := mongo.Messages.Find(bson.M{}).Count()
if err != nil {
log.LogError("Error loading message: %s", err)
return -1, err
}
return total, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例10: StoreGreyMail
func (mongo *MongoDB) StoreGreyMail(m *GreyMail) (string, error) {
err := mongo.Emails.Insert(m)
if err != nil {
log.LogError("Error inserting greylist email: %s", err)
return "", err
}
return m.Id.Hex(), nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例11: StoreSpamIp
func (mongo *MongoDB) StoreSpamIp(s SpamIP) (string, error) {
err := mongo.Spamdb.Insert(s)
if err != nil {
log.LogError("Error inserting greylist ip: %s", err)
return "", err
}
return s.Id.Hex(), nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例12: Store
func (mongo *MongoDB) Store(m *Message) (string, error) {
err := mongo.Messages.Insert(m)
if err != nil {
log.LogError("Error inserting message: %s", err)
return "", err
}
return m.Id, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:8,代码来源:mongostore.go
示例13: Stop
func Stop() {
log.LogTrace("HTTP shutdown requested")
shutdown = true
if listener != nil {
listener.Close()
} else {
log.LogError("HTTP listener was nil during shutdown")
}
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:9,代码来源:server.go
示例14: Load
func (mongo *MongoDB) Load(id string) (*Message, error) {
result := &Message{}
err := mongo.Messages.Find(bson.M{"id": id}).One(&result)
if err != nil {
log.LogError("Error loading message: %s", err)
return nil, err
}
return result, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:9,代码来源:mongostore.go
示例15: RenderPartial
// RenderPartial fetches the named template and renders it to the provided
// ResponseWriter.
func RenderPartial(name string, w http.ResponseWriter, data interface{}) error {
t, err := ParseTemplate(name, true)
if err != nil {
log.LogError("Error in template '%v': %v", name, err)
return err
}
w.Header().Set("Expires", "-1")
return t.Execute(w, data)
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:11,代码来源:template.go
示例16: getSession
func getSession(c config.DataStoreConfig) *mgo.Session {
if mgoSession == nil {
var err error
mgoSession, err = mgo.Dial(c.MongoUri)
if err != nil {
log.LogError("Session Error connecting to MongoDB: %s", err)
return nil
}
}
return mgoSession.Clone()
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:11,代码来源:mongostore.go
示例17: LoadAttachment
func (mongo *MongoDB) LoadAttachment(id string) (*Message, error) {
result := &Message{}
err := mongo.Messages.Find(bson.M{"attachments.id": id}).Select(bson.M{
"id": 1,
"attachments.$": 1,
}).One(&result)
if err != nil {
log.LogError("Error loading attachment: %s", err)
return nil, err
}
return result, nil
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:12,代码来源:mongostore.go
示例18: SaveSpamIP
func (ds *DataStore) SaveSpamIP(ip string, email string) {
s := SpamIP{
Id: bson.NewObjectId(),
CreatedAt: time.Now(),
IsActive: true,
Email: email,
IPAddress: ip,
}
if _, err := ds.Storage.(*MongoDB).StoreSpamIp(s); err != nil {
log.LogError("Error inserting Spam IPAddress: %s", err)
}
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:13,代码来源:storage.go
示例19: GreyMailFromAdd
func GreyMailFromAdd(w http.ResponseWriter, r *http.Request, ctx *Context) (err error) {
id := ctx.Vars["id"]
log.LogTrace("Greylist add mail %s", id)
//we need a user to sign to
if ctx.User == nil {
log.LogWarn("Please login to add to grey list!")
http.NotFound(w, r)
return
}
// we need a user to be admin
if ctx.User.IsSuperuser == false {
http.NotFound(w, r)
return
}
// we need to load email
m, err := ctx.Ds.Load(id)
if err != nil {
log.LogTrace("Greylist mail Id not found %s", id)
http.NotFound(w, r)
return
}
e := fmt.Sprintf("%[email protected]%s", m.From.Mailbox, m.From.Domain)
if to, _ := ctx.Ds.IsGreyMail(e, "from"); to == 0 {
log.LogTrace("Greylist inserting mail %s", e)
gm := data.GreyMail{
Id: bson.NewObjectId(),
CreatedBy: ctx.User.Id.Hex(),
CreatedAt: time.Now(),
IsActive: true,
Email: e,
Local: m.From.Mailbox,
Domain: m.From.Domain,
Type: "from",
}
if err = ctx.Ds.Emails.Insert(gm); err != nil {
log.LogError("Error inserting grey list: %s", err)
http.NotFound(w, r)
return
}
return
}
http.NotFound(w, r)
return
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:51,代码来源:handlers.go
示例20: reverse
// Reversable routing function (shared with templates)
func reverse(name string, things ...interface{}) string {
// Convert the things to strings
strs := make([]string, len(things))
for i, th := range things {
strs[i] = fmt.Sprint(th)
}
// Grab the route
u, err := Router.Get(name).URL(strs...)
if err != nil {
log.LogError("Failed to reverse route: %v", err)
return "/ROUTE-ERROR"
}
return u.Path
}
开发者ID:jmcarbo,项目名称:smtpd-1,代码行数:15,代码来源:template.go
注:本文中的github.com/gleez/smtpd/log.LogError函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论