You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cache.go 1.8 kB

Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
6 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package setting
  5. import (
  6. "strings"
  7. "time"
  8. "code.gitea.io/gitea/modules/log"
  9. )
  10. // Cache represents cache settings
  11. type Cache struct {
  12. Enabled bool
  13. Adapter string
  14. Interval int
  15. Conn string
  16. TTL time.Duration `ini:"ITEM_TTL"`
  17. }
  18. var (
  19. // CacheService the global cache
  20. CacheService = struct {
  21. Cache
  22. LastCommit struct {
  23. Enabled bool
  24. TTL time.Duration `ini:"ITEM_TTL"`
  25. CommitsCount int64
  26. } `ini:"cache.last_commit"`
  27. }{
  28. Cache: Cache{
  29. Enabled: true,
  30. Adapter: "memory",
  31. Interval: 60,
  32. TTL: 16 * time.Hour,
  33. },
  34. LastCommit: struct {
  35. Enabled bool
  36. TTL time.Duration `ini:"ITEM_TTL"`
  37. CommitsCount int64
  38. }{
  39. Enabled: true,
  40. TTL: 8760 * time.Hour,
  41. CommitsCount: 1000,
  42. },
  43. }
  44. )
  45. func newCacheService() {
  46. sec := Cfg.Section("cache")
  47. if err := sec.MapTo(&CacheService); err != nil {
  48. log.Fatal("Failed to map Cache settings: %v", err)
  49. }
  50. CacheService.Adapter = sec.Key("ADAPTER").In("memory", []string{"memory", "redis", "memcache"})
  51. switch CacheService.Adapter {
  52. case "memory":
  53. case "redis", "memcache":
  54. CacheService.Conn = strings.Trim(sec.Key("HOST").String(), "\" ")
  55. case "": // disable cache
  56. CacheService.Enabled = false
  57. default:
  58. log.Fatal("Unknown cache adapter: %s", CacheService.Adapter)
  59. }
  60. if CacheService.Enabled {
  61. log.Info("Cache Service Enabled")
  62. }
  63. sec = Cfg.Section("cache.last_commit")
  64. if !CacheService.Enabled {
  65. CacheService.LastCommit.Enabled = false
  66. }
  67. CacheService.LastCommit.CommitsCount = sec.Key("COMMITS_COUNT").MustInt64(1000)
  68. if CacheService.LastCommit.Enabled {
  69. log.Info("Last Commit Cache Service Enabled")
  70. }
  71. }