Add 'tools/arvbox/' from commit 'd3d368758db1f4a9fa5b89f77b5ee61d68ef5b72'
[arvados.git] / sdk / go / logger / util.go
1 // Helper methods for interacting with Logger.
2 package logger
3
4 // Retrieves the map[string]interface{} stored at parent[key] if it
5 // exists, otherwise it makes it and stores it there.
6 // This is useful for logger because you may not know if a map you
7 // need has already been created.
8 func GetOrCreateMap(
9         parent map[string]interface{},
10         key string) (child map[string]interface{}) {
11         read, exists := parent[key]
12         if exists {
13                 child = read.(map[string]interface{})
14
15         } else {
16                 child = make(map[string]interface{})
17                 parent[key] = child
18         }
19         return
20 }